簡體   English   中英

刪除大於time()的記錄

[英]Delete records that is greater than time()

我正在嘗試刪除20分鍾后過期的記錄,該列包含一個時間戳,該時間戳為time()+1200 (向前20分鍾)。

當我執行此查詢時:

$sql = "DELETE FROM " . SESSIONS_TABLE . "
        WHERE session_expire >= " . time() . "
        AND session_open = 1";

所有尚未通過時間戳記的記錄仍會被刪除...它是怎么做到的?

您可能要刪除小於 time()

您的WHERE條件不正確。 您需要使用..

WHERE session_expire <= " . time() . "

...否則,您將刪除設置為提供的時間過期的會話。

此外,如果數據庫服務器的時鍾位於相同的時區,則可以簡單地使用MySQL的NOW函數。

即:

WHERE session_expire <= NOW()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM