【发布时间】:2015-10-02 08:10:00
【问题描述】:
我对 phpmyadmin 和 SQL 数据库还很陌生。
我想知道如何添加一个“脚本”,在某个时间段后重置表的所有列中的值 -> 我希望该列每 72 小时将每行的 int 值设置为 0。 这可能吗?怎么做?
【问题讨论】:
标签: mysql timer mysql-event
我对 phpmyadmin 和 SQL 数据库还很陌生。
我想知道如何添加一个“脚本”,在某个时间段后重置表的所有列中的值 -> 我希望该列每 72 小时将每行的 int 值设置为 0。 这可能吗?怎么做?
【问题讨论】:
标签: mysql timer mysql-event
您想要的称为“事件”。这是一个潜在的定义;您的需求可能会有所不同。
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. 的列值已经为零的行进行冗余更新
【讨论】: