MySQL什么时候默认提交(commit)或回滚(rollback)事务?

Time:2017/11/23 12:02:16   Click:


  1. 如果你不使用SET AUTOCOMMIT=0,MySQL 将会在一个会话中打开自动提交模式。在自动提交模式下,如果一条 SQL 语句没有返回任何错误,MySQL 将在这条 SQL 语句后立即提交。
  2. 如果一条 SQL 语句返回一个错误,那么 commit/rollback 依赖于这个错误。查看第国家13 章节详细描述。
  3. 下列的 SQL 语句在 MySQL 引起中当前事务的隐含提交:CREATE TABLE(如果使用了 MySQL 二进制日志'binlogging'),ALTER TABLE, BEGIN, CREATE INDEX, DROP DATABASE, DROP TABLE, RENAME TABLE, TRUNCATE, LOCK TABLES, UNLOCK TABLES。 在 InnoDB 中CREATE TABLE语句是作为一个单独的事务来处理的。这就意味着一个用户无法在他的事务中使用ROLLBACK撤销CREATE TABLE语句操作。
  4. 如果你关闭了自动提交模式,而在关闭一个连接之前又未使用COMMIT提交你的事务,那么 MySQL 将回滚你的事务。

TAG
TOP

四川尚狐网络@2012 版权所有
蜀ICP备12016524号-2

立即咨询
成都网站建设,成都做网站,四川尚狐网络
40f13d50b73e104f832ed1b719ae6935