我是phpmyadmin和SQL数据库的新手。
我想知道如何在一段时间后添加一个“脚本”来重置表中所有列的值 - >我希望列每隔72小时为每行设置一个int值为0。 这可能吗?怎么样?
答案 0 :(得分:4)
你想要的是一个"事件"。这是一个潜在的定义;您的需求可能会有所不同。
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.