-
创建存储过程:
CREATE PROCEDURE KeepDatasWith30Days() BEGIN DECLARE maxId INT; SELECT max(Id) INTO maxId FROM tableName WHERE CreateTime < DATE(DATE_SUB(NOW(), INTERVAL 31 DAY)); DELETE FROM tableName WHERE Id < maxId LIMIT 100000; END
请将上述代码中的
tableName
替换为你要操作的表名。 -
确认MySQL版本是否为5.1以上: 执行以下SQL语句:
SELECT VERSION();
-
确认MySQL事件是否开启: 执行以下SQL语句:
SHOW VARIABLES LIKE '%event_scheduler%';
如果结果显示
OFF
,则执行以下SQL语句开启事件调度器:SET GLOBAL event_scheduler = ON;
-
创建定时事件: 执行以下SQL语句,将
startTime
替换为你希望定时调用存储过程的起始时间:CREATE EVENT del_event ON SCHEDULE EVERY 1 DAY STARTS 'startTime' DO CALL KeepDatasWith30Days();
-
查看事件是否创建成功: 执行以下SQL语句:
SHOW EVENTS;
这将显示已创建的事件及其状态。
以上是实现创建存储过程和定时调用的基本步骤,你可以根据具体的需求和数据库环境进行调整和优化。请确保在执行任何数据库操作之前备份重要数据,并谨慎操作。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏