2015-04-10 16:44题主

【分享】sql 数据库2个表关联更新并发情况处理

本人开发遇到的情况是,一个基础信息表A,一个录入信息表B。

录入信息表执行插入操作,code外键,插入的信息基础信息部分来源于A,code为A表主键。

B表执行插入后,A表中同code 那条数据行需要更新一个标志位FLAG,初始值为‘0’(update A set flag='1').

但是因为服务器多用户并发操作,后来发现,两个表数据不一致。

把插入与更新做了个关联:

1.插入时取出被插入的code,query2。


2.把取出的code存入变量


3.更新


但是不知为什么,还是出现丢失数据,两个表数据不一致,百度各种摆,最后判定可能是由于update没有提交,因为并发集中量大,在提交前被丢弃了。

后来各种查阅,用了事务来处理这俩语句query2,解决方法为设定transaction属性为start,搞定。


2015-04-10 17:54#1
谢谢meaya的分享
2015-09-28 15:40#2
这是写在哪里面的?
2015-09-29 18:03#3
好经验!!
2015-10-07 19:49#4
麻烦楼主把xwl模块上传上来,谢谢!

返回开发者社区