在MySQL中,事务控制用于确保一组操作要么全部成功执行,要么全部失败回滚。要实现事务控制,你需要使用以下关键字:
START TRANSACTION:开始一个新的事务。COMMIT:提交当前事务,使更改永久生效。ROLLBACK:回滚当前事务,撤销所有已执行的更改。以下是一个简单的示例,展示了如何在MySQL脚本中实现事务控制:
-- 开始一个新的事务START TRANSACTION;-- 执行一些数据库操作,例如插入、更新或删除INSERT INTO table1 (column1, column2) VALUES ('value1', 'value2');UPDATE table2 SET column1 = 'new_value' WHERE column2 = 'some_value';-- 提交事务,使更改永久生效COMMIT;如果你想在发生错误时自动回滚事务,可以使用DECLARE CONTINUE HANDLER语句来捕获特定的错误,并在发生错误时执行ROLLBACK。以下是一个示例:
-- 开始一个新的事务START TRANSACTION;-- 声明一个错误处理程序,当发生1062错误(重复键)时,执行ROLLBACKDECLARE CONTINUE HANDLER FOR 1062 ROLLBACK;-- 执行一些数据库操作,例如插入、更新或删除INSERT INTO table1 (column1, column2) VALUES ('value1', 'value2');UPDATE table2 SET column1 = 'new_value' WHERE column2 = 'some_value';-- 提交事务,使更改永久生效COMMIT;请注意,这些示例仅适用于支持事务的存储引擎,如InnoDB。对于不支持事务的存储引擎,如MyISAM,这些操作将无效。


