mysql_event.sql 980 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. -- 检查事件调度器状态
  2. SHOW VARIABLES LIKE 'event_scheduler';
  3. -- 开启事件调度器
  4. SET GLOBAL event_scheduler = ON;
  5. DROP EVENT IF EXISTS delete_old_records;
  6. DELIMITER //
  7. CREATE EVENT delete_old_records
  8. ON SCHEDULE EVERY 1 DAY
  9. STARTS CURRENT_TIMESTAMP
  10. DO
  11. BEGIN
  12. DELETE FROM tg_callback_log -- 替换为你的表名
  13. WHERE create_time < DATE_SUB(NOW(), INTERVAL 2 DAY); -- 替换为你的时间字段名
  14. END //
  15. DELIMITER ;
  16. -- 查看所有事件
  17. SHOW EVENTS;
  18. -- 查看特定事件详情
  19. SHOW CREATE EVENT delete_old_records;
  20. -- 停止事件
  21. ALTER EVENT delete_old_records DISABLE;
  22. -- 启动事件
  23. ALTER EVENT delete_old_records ENABLE;
  24. -- 首先确保事件调度器是开启的
  25. SET GLOBAL event_scheduler = ON;
  26. -- 创建一个事件,每天执行一次删除操作
  27. CREATE EVENT delete_old_data_by_origin_data
  28. ON SCHEDULE EVERY 1 DAY
  29. STARTS CURRENT_TIMESTAMP
  30. DO
  31. DELETE FROM origin_data
  32. WHERE create_time < DATE_SUB(NOW(), INTERVAL 48 HOUR);