用户如何启动新的 MySQL 事务?
mysqlmysqli database更新于 2025/8/10 20:28:17
通过运行命令 START TRANSACTION,用户可以启动新的 MySQL 事务。事务的行为将取决于 SQL AUTOCOMMIT 模式。默认模式是"AUTOCOMMIT ON"模式,其中每个 MySQL 语句被视为一个完整的事务,并在完成后默认提交。可以通过将会话变量 AUTOCOMMIT 设置为 1 来启动它,如下所示 −
SET AUTOCOMMIT = 1 mysql> SET AUTOCOMMIT = 1; Query OK, 0 rows impacted (0.07 sec)
如果用户想要更改 MySQL 事务的这种行为,那么他/她可以设置"AUTOCOMMIT OFF" SQL 模式,其中后续的一系列 MySQL 语句充当事务,并且在发出显式 COMMIT 语句之前不会提交任何活动。在此模式下,新会话的第一个可执行语句将隐式启动一个新的多语句事务。可以通过将会话变量 AUTOCOMMIT 设置为 0 来启动它,如下所示 −
SET AUTOCOMMIT = 0 mysql> SET AUTOCOMMIT = 0; Query OK, 0 rows affected (0.00 sec)
对于 InnoDB 中的事务,不要使用 SET AUTOCOMMIT = 0,而是使用 COMMIT 命令提交。
在这两种 SQL 模式下,事务都将使用 START TRANSACTION 命令启动,如下所示 −
mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec)
实际上,上述查询通知 MySQL,后面的语句应被视为单个工作单元,直到事务结束。
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

