功能:sql server数字型字段转自动增量字段的方法
作者:wangsdong
来自:www.aspbc.com
原创文章,转载请保留此信息,欢迎转载。
数据库设计的时候要特别小心,不合理的数据库设计带来的麻烦太大了,我终于体会到了。
最近网站上客户发布产品老是遇到问题,经检查,找出原因:本应该一个自动增量字段,被设计成数字型的字段了,并且还是主键(不允许重复字段)。每次客户添加产品时,先要计算出最大的ProductID,然后+1,为下一条
记录做准备。以前网站流量小的时候,没有多大影响。现在在线人数很多,同时发布产品的人可能有几个。问题来了:如果有三个人同时点击发布产品,第一个人产生了一个ProductID,第二个人也产生了一个ProductID,第
三个人也产生了一个ProductID,并且三个是一样的。写入到数据库中时,第一个可以成功,其他两个失败。因为是主键,不允许重复的原因。
找了好久才找到解决办法:(将原来的数字型字段转为自动增量字段)
假设:
表Product中有三个字段Productid(数字型字段),sname,age
里面记录
insert into Product(Productid,sname,age) values(3,'张三',20) insert into Product(Productid,sname,age) values(5,'李四',21) insert into Product(Productid,sname,age) values(6,'王五',22) insert into Product(Productid,sname,age) values(8,'陈六',23)
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)