gpt4 book ai didi

MySQL触发器在插入后删除旧行

转载 作者:行者123 更新时间:2023-12-01 11:32:14 25 4
gpt4 key购买 nike

这个 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 不允许这样做。

关于MySQL触发器在插入后删除旧行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31245125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com