gpt4 book ai didi

MySQL 事务回滚用户定义的错误

转载 作者:行者123 更新时间:2023-11-29 21:42:46 24 4
gpt4 key购买 nike

CREATE PROCEDURE `sp_fail`()
BEGIN
DECLARE `_rollback` BOOL DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET `_rollback` = 1;
START TRANSACTION;
INSERT INTO `tablea` (`date`) VALUES (NOW());
INSERT INTO `tableb` (`date`) VALUES (NOW());
INSERT INTO `tablec` (`date`) VALUES (NOW()); -- FAIL
IF `_rollback` THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
END$$

-- 上面的过程很好,在 SQL 异常上回滚,但是我们可以在验证时回滚事务吗?例如。如果“日期”不是当前年份或者“日期”为空或某些键值未传递,我想回滚所有记录。

最佳答案

当出现验证错误时,您可以返回信号。请参阅MySQL Documentation .

关于MySQL 事务回滚用户定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34363855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com