4

我对 phpmyadmin 和 SQL 数据库相当陌生。

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

4

1 回答 1

5

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

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

有一些配置工作要做以确保您的 MySQL 服务器将正确运行此事件。

这是实际的更新查询。

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

注意WHERE条款。这可以防止对已经具有零列值的行进行冗余更新counter.

于 2015-07-13T21:50:58.173 回答