mysql默认提交事务吗_mysql8 参考手册--事务自动提交,提交和回滚

在中InnoDB,所有用户活动都发生在交易内部。如果autocommit启用了mode,则每个SQL语句将自己形成一个事务。默认情况下,MySQL为autocommit 启用的每个新连接启动会话,因此,如果该SQL语句未返回错误,则MySQL在每个SQL语句之后进行提交。如果一条语句返回错误,则提交或回退行为取决于该错误。

具有会话autocommit 启用可以通过显式启动它执行多语句事务 START TRANSACTION或 BEGIN 语句,并用它结束 COMMIT或 ROLLBACK 声明。

如果autocommit在与SET autocommit = 0的会话中禁用了mode ,则该会话始终会打开一个事务。一个 COMMIT或 ROLLBACK 语句结束当前事务和一个新的开始。

如果autocommit禁用的会话在 没有显式提交最终事务的情况下结束,则MySQL将回滚该事务。

某些语句隐式结束事务,就好像您COMMIT在执行该语句之前已经完成了。有关详细信息,请参见第13.3.3节“导致隐式提交的声明”。

这COMMIT意味着当前事务中所做的更改将永久化,并且对其他会话可见。一个 ROLLBACK 声明,而另一方面,取消当前事务中的所有修改。双方 COMMIT并 ROLLBACK 释放所有InnoDB当前事务期间设置的锁。

将DML操作与事务分组

默认情况下,连接到MySQL服务器开始与 自动提交模式下启用,当你执行它自动提交每个SQL语句。如果您有其他数据库系统的经验,则可能不熟悉这种操作方式,在标准实践中,发出一系列 DML语句并提交它们或将它们全部回滚。

要使用多语句 事务,请使用SQL语句关闭自动提交功能,SET autocomm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值