mysql 多条语句,怎么判断如果其中一条执行错误,就执行回滚

新手上路,请多包涵

mysql 多条语句,怎么判断如果其中一条执行错误,就执行回滚图片描述

如图片。

求大神解答。在下万分感激。
另外,希望是纯sql语句。 不要靠其他语言来做判断然后在处理。因为我是用nodejs来做的,nodejs是属于异步的。
比如说: 有 (A程序) 和 ( 异步A程序 )。 (A程序)执行了第一条语句,正在做判断的时候,突然杀出了 (异步A程序),然后(异步A程序)也执行了一条语句,不过这时候,(A程序)判断到,不行!我要回滚,执行了rollback。 结果。 (异步A程序)他躺着也中枪,我执行了语句你把我的回滚的。

所以,为了(异步A程序)不要在抱怨下去了。希望大家能够提供一下纯sql的语句。 我替(异步A程序)谢谢大家了

阅读 5.6k
4 个回答

把 ==失败 去掉应该就可以了吧,if(update) 也就是update执行成功就会走if

1.update语句有种配置方式(useAffectedRows=true)可以返回影响的记录数
2.如果步骤1不好用,能不能以再次查询的方式进行验证

没用过nodejs,不太确定你具体的使用方式

把那句sql语句抽出来用一个变量接受它,然后判断:例 if($res === false) rollback;

定义一个变量
declare rowcount tinyint default 0;
在你需要对update语句判断的后面写
select row_count into rowcount;
if rowcount = 0 then
rollback;
else
commit;
end if;
如果出现错误,可以根据sql errono来判断是不是要rollback

欢迎加群交流Java技术:696883318

推荐问题