事务是指数据库管理系统执行的一组操作,被视为一个单一的工作单元,这组操作要么全部执行成功,要么全部执行失败。MySQL 支持事务,具体体现在以下几个方面:
事务的结束通过 COMMIT 提交事务或 ROLLBACK 回滚事务。COMMIT 表示事务成功完成,ROLLBACK 表示撤销事务中的所有操作。
BEGIN; -- 或者 START TRANSACTION;
-- 执行一系列 SQL 操作
COMMIT; -- 提交事务
-- 或者
ROLLBACK; -- 回滚事务
通过设置保存点,可以在事务中创建可以回滚到该点的标记,实现更灵活的控制。
SAVEPOINT savepoint_name;
-- 执行一系列 SQL 操作
ROLLBACK TO savepoint_name; -- 回滚到保存点
-- 或者
RELEASE SAVEPOINT savepoint_name; -- 释放保存点
SET autocommit = 0; -- 禁用自动提交
-- 执行一系列 SQL 操作
COMMIT; -- 手动提交事务
-- 或者
ROLLBACK; -- 手动回滚事务
SET autocommit = 1; -- 启用自动提交
事务的使用可以确保数据库操作的一致性和完整性,特别是在需要处理复杂的业务逻辑或涉及多个操作步骤时。