我將首先解釋我的目標:我希望用戶查詢數據庫,並且僅當這些行自上次查詢後已更新時才返回行。沒有意義返回他們已有的數據。所以我創建了一個名爲'lastupdated'的列,這是一個時間戳類型,每次更新該行中的任何內容時都會自動進行更新。這工作正常。現在,我想正確地形成查詢。用戶將保存他們先前查詢的時間戳,並且通過php將用它來比較他們以前的查詢時間和每行更新的時間。如果該行在最後一次查詢後更新,則應該返回該行。有關MySQL時間戳比較的問題
我做了這樣的事情,
SELECT * FROM users WHERE '2011-02-26 01:50:30' <= lastupdated
但它顯然要太簡單了。我查看了MySQL手冊,發現此頁面爲MySQL Time/Date Page。我確信答案在這裏,但我已經讀過它,沒有任何意義。我有一個MySQL時間戳類型使用的相同格式的時間戳,但我不知道如何比較它們。非常感謝您的幫助。
您是否嘗試過查詢本身。它會工作。 – amitchd 2011-02-27 07:28:24
我檢查過,如果這會工作,我得到一個語法錯誤。我可能錯誤地輸入了一些內容。我將再次檢查併發布結果,謝謝大家。 – JMRboosties 2011-02-27 10:16:58
請注意,您的*小於或等於*可能很容易導致在前一個結果集中具有最大'lastupdated'值的行的重複傳輸。所以,*如果*你可以排除在單秒內插入,選擇,插入的情況,那麼你可能想使用*小於*。 – Timo 2013-12-03 16:11:16