一段时间后重置列值
resetting column values after time
我对 phpmyadmin 和 SQL 数据库还很陌生。
我想知道如何添加 "script" 以在特定时间段后重置 table 的所有列中的值 -> 我希望该列设置 int 值每行每 72 小时变为 0。
这可能吗?如何实现?
你想要的是 "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.
的列值已经为零的行进行冗余更新
我对 phpmyadmin 和 SQL 数据库还很陌生。
我想知道如何添加 "script" 以在特定时间段后重置 table 的所有列中的值 -> 我希望该列设置 int 值每行每 72 小时变为 0。 这可能吗?如何实现?
你想要的是 "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.