如何避免mysql'试图获取锁时发现死锁;尝试重新开始交易”
我有一个记录在线用户的innoDB表。用户每次刷新页面时都会更新该信息,以跟踪他们所访问的页面以及它们对该站点的最后访问日期。然后,我会有一个cron,每15分钟运行一次,以删除旧记录。 我在尝试获取锁时发现“死锁;昨晚尝试重新启动事务”大约5分钟,这似乎是在向该表中运行INSERT时出现的情况。有人可以建议如何避免此错误吗? ===编辑=== 以下是正在运行的查询: 首次访问网站: INSERT INTO onlineusers SET ip = 123.456.789.123, datetime = now(), userid = 321, page = '/thispage', area = 'thisarea', type = 3 在每个页面上刷新: UPDATE onlineusers SET ips = 123.456.789.123, datetime = now(), userid = 321, page = '/thispage', area = 'thisarea', type = 3 WHERE …