本文介绍了MySQL:存储过程中的事务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的存储过程的基本结构是
The basic structure of my stored procedure is,
BEGIN
.. Declare statements ..
START TRANSACTION;
.. Query 1 ..
.. Query 2 ..
.. Query 3 ..
COMMIT;
END
当前,如果查询2"失败,则提交查询1"的结果.
Currently, if 'query 2' fails, result of 'query 1' is committed.
- 如果任何查询失败,如何回滚事务?
推荐答案
看看 http://dev.mysql.com/doc/refman/5.0/en/declare-handler.html
基本上,您声明将调用回滚的错误处理程序
Basically you declare error handler which will call rollback
START TRANSACTION;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
ROLLBACK;
EXIT PROCEDURE;
END;
COMMIT;
这篇关于MySQL:存储过程中的事务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!