如何删除触发器内的一行?

时间:2019-07-17 06:49:45

标签: mysql sql database mariadb

在MariaDB / MySQL中是否有任何方法可以删除触发器内的行(在触发触发器的表上)?

我知道有可能在postgres中这样做。

这是我尝试过的SQL。

TRIGGER trigger AFTER INSERT ON table FOR EACH ROW BEGIN
DELETE FROM table
WHERE expire_at <= CURRENT_TIMESTAMP;
END

我收到此错误消息:

  

代码:1442。无法更新存储的表'cluster_events'   函数/触发器,因为它已被调用的语句使用   此存储的函数/触发器。

是否可以通过其他方式解决此问题?

1 个答案:

答案 0 :(得分:0)

如果要定期清除“旧”数据,请使用EVENT

请确保打开事件计划程序。