我试图锁定时发现了死锁;尝试重新启动InnoDB表上的事务错误.这是查询:
UPDATE views SET visit_cnt = visit_cnt + 1 WHERE visit_day = DATE(Now()) AND article_id = '4838'
此查询还通过ON UPDATE触发器触发此操作:
UPDATE articles SET views = views + 1 WHERE id = NEW.article.id
以下是我尝试修复它的方法:
$attempts_left = 5; do { MysqL_query ($query); // if we found a deadlock,we will try this query 4 more times if (MysqL_errno () == 1213) { // 1213 - deadlock error $deadlocked = true; $attempts_left --; } else{ $deadlocked = false; } } while($deadlocked && $attempts_left > 0);
这是关于处理
InnoDB deadlocks的好文档.
原文地址:https://www.jb51.cc/php/134296.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。