MySQL 带有一个很好的 SQL 提示符。
它的命令之一是 source
,它从文本文件中读取命令并执行它们,就像在提示符下键入它们一样。
想象一个包含以下几行的文本文件:
BEGIN TRANSACTION;
UPDATE ....;
UPDATE ....;
DELETE FROM ...;
COMMIT;
如果中间的任何 SQL 语句存在语法或其他错误,它们仍然会继续执行其余部分,包括 COMMIT
!哎呀!
如何才能使任何命令失败时事务和脚本都会中止?
最佳答案
您需要declare an exception handler :
DECLARE EXIT HANDLER
FOR SQLEXCEPTION, SQLWARNING, NOT FOUND
ROLLBACK;
关于mysql - MySQL 控制台上的事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8265928/