MySQL事务如何在程序语言级别实现监听死锁并且再再次启动事务呢?
即在语言级别就判断出死锁了,然后我就进行rollback,然后再次调起事务。
这套流程如何用程序语言实现? PHP
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
即在语言级别就判断出死锁了,然后我就进行rollback,然后再次调起事务。
这套流程如何用程序语言实现? PHP
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
MySQL打开innodb lock monitor,
innodb_status_output_locks = ON
PHP连上MySQL
定时执行
SHOW ENGINE INNODB STATUS
从结果中找到deadlok的会话ID
kill掉会话,事务就回滚了
因为这个方法是从外部监听死锁,你的程序要处理会话被杀产生的异常,然后重试事务。