我需要自動更新PHP時間戳列的類型,每當某些更新完成其特定的某一行。可以做到嗎?mysql時間戳查詢
時間戳的格式爲「0000-00-00 00:00:00」
我也想比較列已經設置的值當前(系統)日期和時間。例如,我想比較當前系統時間戳和DB值,如果當前值比DB值超過10分鐘,請執行特定操作。我如何檢查這個?
我需要自動更新PHP時間戳列的類型,每當某些更新完成其特定的某一行。可以做到嗎?mysql時間戳查詢
時間戳的格式爲「0000-00-00 00:00:00」
我也想比較列已經設置的值當前(系統)日期和時間。例如,我想比較當前系統時間戳和DB值,如果當前值比DB值超過10分鐘,請執行特定操作。我如何檢查這個?
最簡單的方法是設置on update CURRENT_TIMESTAMP
在數據庫的行(假設你正在使用MySQL)。另一種方法是在插入時插入值NOW()
。
當您查詢數據庫時,而不是隻寫SELECT timestamp FROM...
寫SELECT UNIX_TIMESTAMP(timestamp) as stamp FROM...
。這將使您將它作爲UNIX時間戳。然後,您可以將其與time()
中的值進行比較,並檢查它是否距離數據庫時間戳超過600秒。
MySQL函數NOW()
將始終爲您提供當前的timnestamp。
這將modified
字段設置爲當前時間戳:
UPDATE user SET realname='John Smith', modified=NOW()
或者這會給你在最後10分鐘修改的記錄。
SELECT * FROM user WHERE modified > TIMESTAMPADD(MINUTE, -10, NOW())
A '時間戳列' 是不是PHP。這是MySQL的。默認情況下,MySQL會在記錄更改或插入時自動更新任何給定表中的第一個時間戳列。
選擇基於該時間戳,你會做
SELECT field,field,field
FROM yourtable
WHERE (timestampfield, DATE_SUB(now(), INTERVAL 10 MINUTE)
`updated` TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
這個答案的Peoblem是什麼? – vbence 2011-03-27 22:18:33