可能重複:
Time & Date Stamp in a MySQL table row存儲INSERT的日期和時間,在MySQL
什麼是存儲日期和時間INSERT語句運行的最好方法?是否在查詢中包含Now()函數?一旦完成,是否可以計算72小時是否已經過去?
可能重複:
Time & Date Stamp in a MySQL table row存儲INSERT的日期和時間,在MySQL
什麼是存儲日期和時間INSERT語句運行的最好方法?是否在查詢中包含Now()函數?一旦完成,是否可以計算72小時是否已經過去?
看看在TimeStamp
領域,特別是你可以創建表本身來完成所有的工作,爲您提供:
CREATE TABLE `table` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`updatetime` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
這裏,當創建記錄(即INSERT)將數據庫爲您填充字段內容。
您可以使用DATE_DIFF()
或TIME_DIFF
函數運行一個簡單的查詢來檢查是否有大於72小時的記錄。請注意,您也可以在這裏使用UNIX_TIMESTAMP()
功能。
欲瞭解更多信息,查看here。
如果您將CURRENT_TIMESTAMP列的默認值定義爲datetime屬性,則不需要指定顯式值。如果將類型定義爲TIMESTAMP,則每次修改記錄時都會將其更新爲當前時間,除非您專門覆蓋該行爲。
如果72小時過去了,是否可以計算出來?
是 - 但要確保你把比較操作的一側全部靜態計算:
SELECT *
FROM yourtable
WHERE NOW() - INTERVAL 72 HOURS > yourtable.created_time;
將比....
SELECT *
FROM yourtable
WHERE NOW()> yourtable.created_time + INTERVAL 72 HOURS;
更快速的無創建時間索引。如果您在創建的時間上有索引,那麼第一個查詢將不會使用它,但第二個查詢會快得多。
你想知道數據類型嗎? – Abubakkar