在时间之后重置列值

时间:2015-07-13 21:35:05

标签: mysql timer mysql-event

我是phpmyadmin和SQL数据库的新手。

我想知道如何在一段时间后添加一个“脚本”来重置表中所有列的值 - >我希望列每隔72小时为每行设置一个int值为0。 这可能吗?怎么样?

1 个答案:

答案 0 :(得分:4)

你想要的是一个"事件"。这是一个潜在的定义;您的需求可能会有所不同。

CREATE EVENT `zero_my_column`
    ON SCHEDULE
        EVERY 72 HOUR STARTS '2015-07-13 00:00:00'
    ON COMPLETION PRESERVE
    ENABLE
DO BEGIN
         UPDATE mytable SET counter = 0 WHERE counter <> 0;
END

有一些configuration work to do可确保您的MySQL服务器正确运行此事件。

这是实际的更新查询。

UPDATE mytable SET counter = 0 WHERE counter <> 0;

注意WHERE子句。这可以防止冗余更新已经为counter.

列零值的行