2011-07-27 142 views
0

我有一個表,其中包含幾個時間戳字段,但我有一些問題有一些字段默認爲NULL。MySQL時間戳自動更新

在我用戶表我有這些時間戳表:

(field),(NULL),(default val) 

deleted_on YES NULL 
last_change_attemp YES NULL 
newpass_time YES NULL 
last_login YES NULL 
created NO 0000-00-00 00:00:00 
updates YES NULL 

當我去編輯在phpMyAdmin行,行,我的編輯已經有NULL複選框選中所有NULL字段,除第一個字段:* deleted_on *。如果我手動檢查複選框,它允許我將該字段保持爲NULL。

當我通過查詢更新另一個字段時,它會自動在該第一個字段上執行current_timestamp。這是預期的嗎?

回答

3

我已經通過文檔再次讀取,並注意到這一段文字,

指定自動默認或更新比第一個以外的TIMESTAMP列 ,則必須禁用自動初始化和 更新通過明確地 爲第一個TIMESTAMP列的行爲分配一個常數DEFAULT值(例如,DEFAULT 0或 DEFAULT'2003-01-01 00:00:00')。然後,對於另一個TIMESTAMP列, 的規則與第一個TIMESTAMP列的規則相同,但 如果您省略了DEFAULT和ON UPDATE子句,則不會自動初始化或更新 。

http://dev.mysql.com/doc/refman/5.0/en/timestamp.html

所以暫時我有字段都默認爲0000-00-00 00:00:00防止自動更新。

0

phpMyAdmin的做一些奇怪的事情時間戳和空,尤其是如果列被標記爲CURRENT_TIMESTAMP

我不知道爲什麼。