插入后 1 天自动删除行 (MySQL)
AUTO-DELETE ROW 1 Day After Inserted (MySQL)
如何在插入某行 1 天后创建事件自动删除?
我有 3 个字段:
id varchar
名称 varchar
时间戳current_timestamp()
这是您的脚本。
Insert into table1 (id, name, timestamp) values (1, 'test', now())
插入后
Delete from table1 WHERE timestamp < now() - interval 1 day;
请看事件:https://dev.mysql.com/doc/refman/5.7/en/events-syntax.html
在你的情况下:
你可以试试这个:
-- create a timer to update this table automatically
DROP EVENT IF EXISTS `et_update_your_trigger_name`;
CREATE EVENT `et_update_your_trigger_name` ON SCHEDULE EVERY 1 MINUTE
STARTS '2010-01-01 00:00:00'
DO
DELETE FROM `DB_NAME`.`table_name` where DATEDIFF(now(),`timestamp`) > 1;
ALTER EVENT `et_update_your_trigger_name` ON COMPLETION PRESERVE ENABLE;
此 sql 代码创建一个触发器,并每分钟执行一次。
请这样尝试:
DELETE FROM table1
WHERE date < DATE_SUB(NOW(), INTERVAL 1 DAY)
如何在插入某行 1 天后创建事件自动删除?
我有 3 个字段:
id varchar
名称 varchar
时间戳current_timestamp()
这是您的脚本。
Insert into table1 (id, name, timestamp) values (1, 'test', now())
插入后
Delete from table1 WHERE timestamp < now() - interval 1 day;
请看事件:https://dev.mysql.com/doc/refman/5.7/en/events-syntax.html 在你的情况下: 你可以试试这个:
-- create a timer to update this table automatically
DROP EVENT IF EXISTS `et_update_your_trigger_name`;
CREATE EVENT `et_update_your_trigger_name` ON SCHEDULE EVERY 1 MINUTE
STARTS '2010-01-01 00:00:00'
DO
DELETE FROM `DB_NAME`.`table_name` where DATEDIFF(now(),`timestamp`) > 1;
ALTER EVENT `et_update_your_trigger_name` ON COMPLETION PRESERVE ENABLE;
此 sql 代码创建一个触发器,并每分钟执行一次。
请这样尝试:
DELETE FROM table1
WHERE date < DATE_SUB(NOW(), INTERVAL 1 DAY)