【发布时间】:2015-06-08 05:16:38
【问题描述】:
我有一个包含 15 个表的 PHP/MySQL 项目。表名tbl_user_log 之一,将保存所有用户日志。我想每 3 个月清空或截断此表。如何使用触发器或任何适用的解决方案来执行此操作。
【问题讨论】:
标签: mysql sql database triggers truncate
我有一个包含 15 个表的 PHP/MySQL 项目。表名tbl_user_log 之一,将保存所有用户日志。我想每 3 个月清空或截断此表。如何使用触发器或任何适用的解决方案来执行此操作。
【问题讨论】:
标签: mysql sql database triggers truncate
可能对你有帮助
declare @tbl nvarchar(max)='table_name'
if (
(select create_date FROM
sys.tables where name=@tbl)
<= (SELECT DATEADD(month,-3, GETDATE()))
begin
truncate table @tbl
end
else
select 'table creation date is not more than 3 months'
你可以把它放在一个过程中,你可以直接将表名作为输入传递,并且可以有效地工作
【讨论】:
你可以设置一个cronjob到你项目的某个路由来执行下面的sql:
DELETE FROM tbl_user_log
查看此网站:http://setcronjob.com
或者你可以简单地使用mysql EVENTs。
【讨论】: