同时并发提交数据(insert)~~~
如果有n多用户同时插入数据在一个张表中,可有多种方式保证数据的完整性?
请给出完整code...
谢谢~
------解决方案--------------------用事务
BEGIN TRANSACTION
----语句
COMMIT
------解决方案--------------------不是,比如说你的主键是id号 取最大值
若当前最大值为 10000
下一次插入时应该为10001
如果现在有10 个用户,他们可能取到的最大值都是10000
所以他们认为他们应该插入是ID应该为10001
而事实上只有一个用户可以成功,也就是哪个最早提交的,
其他用户都不会成功,事务回滚了,
------解决方案--------------------你也可以在提交的时候再重新生成一下你的主键列,那样可能会好一点
------解决方案-------------------- --用事务
--当事务中的任意一条sql出错时,确保整个事务回滚
set xact_abort on
begin transaction
--语句
commit