社区
MySQL
帖子详情
mysql如果开启事务,一直没有提交,难道就这样一直下去?
李民11
2017-12-12 06:39:39
会不会有什么机制,会自动回滚或提交。
...全文
6036
4
打赏
收藏
mysql如果开启事务,一直没有提交,难道就这样一直下去?
会不会有什么机制,会自动回滚或提交。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
李民11
2018-04-24
打赏
举报
回复
3
如果一个连接中开启事务切未显示提交或回滚,在不考虑其他因素的前提下,确实应该是只有在连接断开的时候才会回滚。 如果出现锁等待,则是根据innodb_rollback_on_timeout参数进行下一步动作,如果此参数是off,则会回滚上一条语句,不会提交或回滚,直到显示提交或回滚(事务一直存在,直到连接断开)。如果此参数是on,在超时后会回滚整个事务。
Rotel-刘志东
2017-12-18
打赏
举报
回复
设置条件时间,如果有超时间的就回滚。
zjcxc
2017-12-13
打赏
举报
回复
连接的操持是有超时时间的
zjcxc
2017-12-13
打赏
举报
回复
连接断开就自动回滚
MySQL
如果
没有
事务
,究竟会发生什么?
MySQL
如果
没有
事务
,究竟会发生什么? 一、从转账到
事务
解说 1、
事务
的概念: 我们先说个小故事: 平行世界里,某一对异地情侣boy和girl,boy有100块钱,girl有10块钱,现在boy想在给girl 手机转账50块钱,对应的数据库操作为: UPDATE account SET balance = balance - 50 WHERE id = boy; # 1 UPDATE account SET balance = balance + 50 WHERE id = girl; # 2 只有操作
mysql
事务
未
提交
断开连接_与数据库连接异常断开导致
事务
没
提交
怎么办
本帖最后由 P-Linux 于 2011-12-25 00:58 编辑我们经常遇到一个情况,就是网络断开或程序Bug导致COMMIT/ROLLBACK语句
没有
传到数据库,也
没有
释放线程,但是线上
事务
锁定等待严重,连接数暴涨,尤其在测试库这种情况很多,线上也偶有发生,于是想为
MySQL
增加一个杀掉空闲
事务
的功能。那么如何实现呢,通过
MySQL
Server层有很多不确定因素,最保险还是在存储引擎层实...
mysql
事务
出错后会自动回滚吗?不会!
首先,
开启
一个会话,在会话中建立
事务
A,插入两条记录如下: 此时,第二条插入语句出错,
事务
会自动回滚吗? 再
开启
另一个会话,建立
事务
B,查询记录: 此时发现表中
没有
记录,是否证明
事务
A自动回滚了呢? 其实不然,
mysql
中
事务
隔离级别默认为read repeatable,所以
事务
B不能读取
事务
A未
提交
的内容,不管
事务
A中语句是否出错,或者出错后是否自动回滚,
事务
B都是读取不到的。 此时为了完成实验,需要将
事务
B的隔离级别改为read uncommitted。然后读取记录: 你会发现,此时是能读取
事务
A
MySQL
的
事务
与锁
在现实生活中,人们通过银行互相转账和汇款,从数据的角度来看,这实际上就是数据库中两个不同账户之间的数据操作。例如,用户A向用户B转账了1000元,则A账户的余额减去1000元,B账户的余额加上1000元,整个过程需要使用两条SQL语句来完成操作,若其中一条语句出现异常
没有
被执行,则会导致两个账户的金额不同步,从而使数据出现错误。为了避免上述情况的发生,
MySQL
中可以通过
开启
事务
来进行数据操作。用户转账过程中,只有
事务
执行成功后数据才会变更,如果
事务
执行失败,数据库中的值将不会变更。
【
MySQL
数据库 | 第十五篇】
事务
这章我们将进入到
MySQL
基础篇的最后一章:
事务
,希望大家可以坚持
下去
,跟着我一起走完
MySQL
的学习之旅。
MySQL
57,062
社区成员
56,762
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章