【问题标题】:How to automatic truncate table in MySQL every 3 months?如何每 3 个月自动截断 MySQL 中的表?
【发布时间】:2015-06-08 05:16:38
【问题描述】:

我有一个包含 15 个表的 PHP/MySQL 项目。表名tbl_user_log 之一,将保存所有用户日志。我想每 3 个月清空或截断此表。如何使用触发器或任何适用的解决方案来执行此操作。

【问题讨论】:

标签: mysql sql database triggers truncate


【解决方案1】:

可能对你有帮助

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'

你可以把它放在一个过程中,你可以直接将表名作为输入传递,并且可以有效地工作

【讨论】:

    【解决方案2】:

    你可以设置一个cronjob到你项目的某个路由来执行下面的sql:

    DELETE FROM tbl_user_log
    

    查看此网站:http://setcronjob.com

    或者你可以简单地使用mysql EVENTs。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 2012-03-17
      相关资源
      最近更新 更多