我有一个带有存储日志的表的mysql数据库。该表每10秒接收一次记录。
我想每周截断我的表,这意味着80.000记录之后。我想做一个存储过程,如果有超过80.00,检查每个插入。如果还有更多,表将被截断。
我无法找到如何在SQL中使用if
语句。
我知道在crontab中执行一个脚本来连接数据库并每周删除一次表会更好,但是我有约束直接通过SQL存储过程来完成。
提前感谢您的帮助!
答案 0 :(得分:1)
您可以使用MySQL事件调度程序执行此操作,该事件调度程序基本上类似于cron,但在MySQL服务器中作为线程运行。有了它,您可以安排执行SQL语句或过程。
首先你必须打开它:
SET GLOBAL event_scheduler = ON;
然后你可以创建一个事件:
CREATE EVENT MyEvent
ON SCHEDULE EVERY 1 WEEK
DO
TRUNCATE TABLE MyTable;
在这里阅读更多相关信息: