是这样的,我在程序里关闭了自动提交,然后当两个update语句完成之后,还没有commit
这个时候我拔了我的网线,然后让程序继续运行,然后出错后发现mysql的那句update一直处于等待执行的状态我想问的是,像这种情况,除了手动杀掉被锁的语句,还有没有其他办法?
这种程序应该是处理不了的吧?那么有没有什么设置可以让mysql过一段时间,比如10秒自动把锁释放呢?
这个时候我拔了我的网线,然后让程序继续运行,然后出错后发现mysql的那句update一直处于等待执行的状态我想问的是,像这种情况,除了手动杀掉被锁的语句,还有没有其他办法?
这种程序应该是处理不了的吧?那么有没有什么设置可以让mysql过一段时间,比如10秒自动把锁释放呢?
解决方案 »
- MySQL Administrator skip 不能进入安装模式
- 存储过程,如何使用prepare连接字符串参数
- 双系统主机,Linux环境下如何共用Windows分区中的MySQL的数据库
- 正则替换问题
- 在大连怎么找个兼职的机会?
- 有个问题希望大家多多帮我!我的表有三个字段,ID、Date、View,我希望通过sql语句得到Date=2007且ID为最大的应该怎么写~得到答案前先说谢谢!!
- mysql中怎么导入.sql的文件,在线等待
- 请问postgresql数据库中 如何计算两个日期间的差距间隔
- mysql 紧急求助!!!!!!
- 我用的是mysql-5.6.13-win32的数据库应该使用哪个版本的jdbc驱动
- 不同版本的mysql对内存 cpu 以及 单个的表的限制值
- sql management studio for mysql 2010注册码?
结束此进程。
2:然后当两个update语句完成之后,还没有commit 。。 现mysql的那句update一直处于等待执行的状态
既然都完成了,为何还有处于等待状态?
1, 尽量让一个transaction足够短, 避免在一个transaction中间有交互动作
2, 程序里要有kill process的模块, 让客户自己解决这问题
3, MYSQL/INNODB里有lock-xxx--timeout参数, 可以设置锁表最多分钟, 超过这个值, 会自动rollback.