2011-07-11 46 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中都有類似的工具嗎? –