MySQL设置事务自动提交

时间:2022-11-29 20:59:18

MySQL 默认开启事务自动提交模式,即除非显式的开启事务(BEGIN 或 START TRANSACTION),否则每条 SOL 语句都会被当做一个单独的事务自动执行。但有些情况下,我们需要关闭事务自动提交来保证数据的一致性。下面主要介绍如何设置事务自动提交模式。


在 MySQL 中,可以通过  SHOW VARIABLES 语句查看当前事务自动提交模式,如下所示:

mysql> SHOW VARIABLES LIKE 'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set, 1 warning (0.04 sec)

结果显示,autocommit 的值是 ON,表示系统开启自动提交模式。


在 MySQL 中,可以使用 SET autocommit 语句设置事务的自动提交模式,语法格式如下:

SET autocommit = 0|1|OFF|ON ;

对取值的说明:

  • 值为 0 和值为 OFF:关闭事务自动提交。如果关闭自动提交,用户将会一直处于某个事务中,只有提交或回滚后才会结束当前事务,重新开始一个新事务。
  • 值为 1 和值为 ON:开启事务自动提交。如果开启自动提交,则每执行一条 SQL 语句,事务都会提交一次。


https://blog.51cto.com/u_13272527/5419819
https://www.shuzhiduo.com/A/kjdwxNDBzN/
https://www.linuxprobe.com/mysql-begin-linux.html
http://c.biancheng.net/view/7291.html
https://blog.51cto.com/u_15127595/3391194