事务管理
savepoint保存点
rollback回滚事务
commit提交事务
隔离级别
ACID
什么是事务
事务用于保证数据的一致性,它由一组相关的dml语句组成,该组dml语句要么全部成功,要么全部失败。
典型:转账,要么全部成功,要么全部失败。
事务和表
当执行事务操作时,mysql会在表上加锁,防止其他用户修改表的数据,这对用户非常重要。
事务操作
START TRANSACTION – 开始一个事务
SAVEPOINT 保存点名 – 设置保存点
ROLLBACK TO 保存点名 – 回退事务
ROLLBACK – 回退全部事务
COMMIT – 提交事务,所有的操作生效,不能回退
CREATE TABLE my_temp(
id INT,
`name` VARCHAR(32));
START TRANSACTION
SAVEPOINT a
INSERT INTO my_temp
VALUES
(1,'1234'),
(2,'4321');
ROLLBACK TO a
SELECT *FROM my_temp
回退事务
保存点时事务中的点,用于取消部分事务,当结束事务时(commit),会自动的删除该事务所定义的所有保存点。
当执行回退事务时,通过指定保存点可以回退到指定的点。
提交事务
使用commit语句可以提交事务,当执行commit语句后会确认事务的变化、结束事务、删除保持点、释放锁、数据生效。当使用commit语句结束事务后,其他会话、其他连接将可以查看到事务发生变化后的新数据。简称数据正