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

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

来源:互联网  时间:2018/1/28 1:58:47

关于网友提出的“ mysql 多条语句,怎么判断如果其中一条执行错误,就执行回滚”问题疑问,本网通过在网上对“ mysql 多条语句,怎么判断如果其中一条执行错误,就执行回滚”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

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

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

如图片。

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

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


解决方案1:

定义一个变量
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

解决方案2:

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

解决方案3:

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

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

解决方案4:

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

上一篇如何将\'插入数据库
下一篇mysql inner join 会扩大数据范围吗
明星图片
相关文章
《 mysql 多条语句,怎么判断如果其中一条执行错误,就执行回滚》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)