一共有三条语句:
①insert into test_name(id,name) values(17,'张三')
②insert into test_info(name_id,age,class,sex) values(17,'55','7','boy')
③insert into test_info_reward(name_id,reward) values(23,'科技奖')
其中第一,第二条因为主键冲突进行回滚,而第三条主键没有冲突,插入成功了。
问题:事务回滚不是其中任何一条发生错误,则所有的语句会发生回滚的吗?还是说当某条语句发生错误,则回滚当前执行错误语句之前的所有语句?
查看下你的数据是不是autocommit模式
我也遇到过相应的问题,不知道是怎么回事。不过,我的解决方法就是把sql语句放在一块判断,只要有一个返回false,就立刻回滚。