开发者社区> 问答> 正文

MySQL:存储过程中的事务?mysql

我的存储过程的基本结构是

BEGIN

.. Declare statements ..

START TRANSACTION;

    .. Query 1 ..
    .. Query 2 ..
    .. Query 3 ..

COMMIT;

END MySQL版本: 5.1.61-0ubuntu0.11.10.1-log

当前,如果“查询2”失败,则提交“查询1”的结果。

如果任何查询失败,如何回滚事务?

展开
收起
保持可爱mmm 2020-05-17 18:54:59 436 0
1 条回答
写回答
取消 提交回答
  • 看看http://dev.mysql.com/doc/refman/5.0/en/declare-handler.html

    基本上,您声明错误处理程序,它将调用回滚

    START TRANSACTION;

    DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN ROLLBACK; EXIT PROCEDURE; END; COMMIT;

    2020-05-17 18:57:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像