mysql退出处理程序帮助
问题描述:
我有一个简单的更新将使用一个事务。如果事务失败,我想回滚并发出一个0的整数值。这是我的代码到目前为止。它不能正常工作,即使失败了,我也能得到整数1。mysql退出处理程序帮助
declare exit handler for not found rollback;
declare exit handler for sqlwarning rollback;
declare exit handler for sqlexception rollback;
set row = 0;
START TRANSACTION;
UPDATE user
SET name = name
WHERE code = code;
COMMIT;
set row = 1;
没有人有任何想法如何,我可以解决这个问题?真的,我在这里打开。如果有人有更好的方法,我全部耳朵。
答
可以围成BEGIN和END命令:
DECLARE EXIT HANDLER FOR SQLEXCEPTION,NOT FOUND,SQLWARNING
BEGIN
ROLLBACK;
SELECT 0;
END;
+0
对不起,格式化没有通过。 “BEGIN”与“回滚”,“选择0”是分开的行,和“结束”。 – Chosun 2010-08-18 20:09:20
感谢您的回答soulmerge。这是我正在使用的代码。有趣的事情..我使用这个相同的代码插入,它的作品完美。我查看了这段代码,并将其与工作代码进行了比较,结果没有任何区别。我很难过。 – James1012 2010-02-05 15:01:35