【问题标题】:resetting column values after time时间后重置列值
【发布时间】:2015-10-02 08:10:00
【问题描述】:

我对 phpmyadmin 和 SQL 数据库还很陌生。

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

【问题讨论】:

    标签: mysql timer mysql-event


    【解决方案1】:

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

    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. 的列值已经为零的行进行冗余更新

    【讨论】:

    • 在 StackOverflow 上,如果有帮助,最好将答案标记为已接受(单击绿色复选标记)。这样,其他有类似问题的人就可以找到您的问题和答案。
    • 由于您提到使用 phpMyAdmin,您可能对可以从任何数据库页面看到的“事件”选项卡感兴趣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 1970-01-01
    • 2015-01-12
    • 2021-09-05
    相关资源
    最近更新 更多