MySQL 事务

控制事务的语句

默认情况下,MySQL 的 autocommit 设置为启用,也就是说所有语句产生的变动都会自动地提交到数据库中,无法回滚。

如何启用事务?

使用 START TRANSACTIONBEGIN 语句

START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET [email protected] WHERE type=1;
COMMIT;

将 autocommit 设置关闭

SET autocommit=0;
UPDATE test set a=1;

DDL 语句不能回滚

所有的数据定义语言(DDL) 语句是不可以回滚的。

隐式提交事务的语句

引用

  1. START TRANSACTION, COMMIT, and ROLLBACK Syntax
Alvie's Blog

Alvie's Blog

If you're going through hell, keep going

comments powered by Disqus
rss facebook twitter github youtube mail spotify instagram linkedin google pinterest medium