mysql学习笔记(二):事务相关备注

79 阅读1分钟

我理解的事务就是类似git那种可以回滚的操作,一般应该增删改查动数据需要开启。

// 开启事务
START TRANSACTION
# OR
BEGIN

// 开启后如要回滚全部
rollback

// 提交事务
commit;

// 使用SAVEPOINT来打回滚点
SAVEPOINT aaa;
xxxxxx
SAVEPOINT ccc;
xxxxx

// 回滚到回滚点
ROLLBACK TO SAVEPOINT aaa;

特别注意这个报错:# MYSQL | ERROR 1305(42000) SAVEPOINT *** DOES NOT EXIST

autocommit模式:在开启情况下,对于每条statement来说,都会自动形成一个commit,也就是会即时对开始和结束一个事务。所以,当出现rollback to savepoint出现这个错误时,第一步是检查autocommit模式是否有开启。

select @@autocommit;

1则代表开启,0则代表未开启。

如果需要关闭,则输入以下代码

set autocommit = 0 ;