首页 新闻 会员 周边

sql2000 得到最大值(主键)然后自加一插入时 高并发 怎么处理?

0
悬赏园豆:50 [已关闭问题] 关闭于 2012-08-06 08:37

sql2000 得到最大值(主键)然后自加一插入时 高并发 怎么处理?

问题补充:

违反了 PRIMARY KEY 约束 'PK-'。不能在对象 ' ' 中插入重复键。
语句已终止。

白草红叶的主页 白草红叶 | 初学一级 | 园豆:76
提问于:2012-08-04 09:35
< >
分享
所有回答(4)
0

可以使用GUID来作为主键,这样可以防止这种问题发生。

也可以在数据库中设置INT为自增,这样也基本可以防止重复

CrazyJinn | 园豆:799 (小虾三级) | 2012-08-04 10:35
0

用Int自增,这个最简单。

Alvin | 园豆:828 (小虾三级) | 2012-08-04 12:04
0

来个int自增不就行了啊,不行的话 bigint也行啊

chenping2008 | 园豆:9836 (大侠五级) | 2012-08-04 12:47
0

第一可以使用数据库自增主键,这个最简单,不用修改代码即可完成。

第二可以使用GUID,但是这个主键很长,可读性不强,无法满足特殊需求。

第三插入时使用数据库存储过程或函数来生成主键,但是需要用到事务来进行生成主键。

az235 | 园豆:8483 (大侠五级) | 2012-08-04 22:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册