MySQL触发器在插入后删除旧行
Free-Thinker
阅读:66
2024-10-25 08:56:14
评论:0
这个 MySQL 触发器有什么问题?插入后,我试图删除超过 1 个月的行。此触发器仅删除最后插入的行。
CREATE TRIGGER `users_logins_delete_olds`
AFTER INSERT ON `users_logins` FOR EACH ROW
BEGIN
DELETE FROM users_logins WHERE user_id = new.user_id AND timestamp < (NOW() - INTERVAL 1 MONTH);
END
请您参考如下方法:
您不能从实现触发器的同一个表中删除行。
因为在插入时 mysql 锁定表并且不能删除行,因为删除需要锁定所以它是死锁情况,这就是为什么 mysql 不允许这样做。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。