在MySQL或PostGre中根据时间更新表的最佳方法是什么?
例如,我有一个包含以下记录的数据库。
ColumnA StartTime EndTime 123 02:05:01 02:06:01 456 02:06:01 02:07:01
是否可以根据EndTime列更新两列的值,可能是时间事件?我尝试使用cronjobs,但我认为它不适合特定于时间的事件(秒),特别是如果数据库有大量的行?
答案 0 :(得分:1)
如果这就是你的意思,可以将事情包装在案例中:
update foo
set ColumnA = case
when EndTime < now() then 321
else 654
end,
StartTime = case
...
end
where ...
答案 1 :(得分:0)
看起来你可以使用Mysql Events,如果你使用的是5.1
以下是关联解决方案Does MySQL have time-based triggers?