一段时间后重置列值

Bri*_*off 4 mysql timer mysql-event

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

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

O. *_*nes 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
Run Code Online (Sandbox Code Playgroud)

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

这是实际的更新查询。

UPDATE mytable SET counter = 0 WHERE counter <> 0;
Run Code Online (Sandbox Code Playgroud)

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