- 论坛徽章:
- 0
|
本帖最后由 bszwxq777 于 2017-05-09 14:56 编辑
回复 2# liaosnet
有A ,B两张表,B是A的历史表,我的操作流程如下:步骤一:select first 50 * from A where status=0;//ID唯一键,假设为变量:b00
步骤二:insert into B select * from A where ID=:b00;
步骤三:delete from A where ID=:b00;
直接这样操作时,步骤一偶尔会读出超过50条的非法数据,不知道是什么原因,步骤二和步骤三会抛出如题异常;
如果在步骤一前面加上set lock mode to wait 10,这样基本就不会有上述问题出现
问题一:为什么步骤一会读出超过50条的空数据?
问题二:set lock mode to wait 10 是对步骤一、二、三都有效吗?
问题三:步骤一执行成功后,按理步骤二是不会报错的,因为数据都是已写入完成的,究竟什么情况才会导致步骤二移数据不成功?
问题四:同问题三,步骤三删除已存在的数据,为什么会抛出如题异常?
这几个问题比较纠结,一直没理解,如果方便,请加我QQ454326777,求教了~
|
|