2011-07-11 45 views
0

在MySQL或PostGre中根据时间更新表的最佳方式是什么?基于时间更新不同的行?

例如我有一个数据库与以下记录。

 
ColumnA StartTime EndTime 
123  02:05:01 02:06:01 
456  02:06:01 02:07:01 

是否有可能根据EndTime列更新两列的值,可能是时间事件?我尝试使用cronjobs,但我认为它不适合时间特定的事件(秒),特别是如果数据库有大量的行?

回答

1

这是可能的换东西的情况下,如果这是你的意思是什么:

update foo 
set ColumnA = case 
    when EndTime < now() then 321 
    else 654 
    end, 
    StartTime = case 
    ... 
    end 
where ... 
+0

thnx的建议,但这不是我的意思:) –

0

看起来你可以使用MySQL活动,如果您正在使用5.1

这里是一个连接的解决方案Does MySQL have time-based triggers?

+0

谢谢你这一个。任何人在Postgresql中都有类似的工具吗? –