2009-12-13 84 views
1

我想再次有所建樹像在MySQL下創建錶行動MySQL的默認DATETIME值

date_created datetime NOT NULL DEFAULT CURRENT_DATETIME, 
date_updated datetime NOT NULL ON UPDATE CURRENT_DATETIME, 

,這是一個MySQL創建表的行動,這是兩個領域的在我的表。

回答

4

看一看這個

TIMESTAMP Properties

從鏈接,您可以使用

CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
          ON UPDATE CURRENT_TIMESTAMP); 
CREATE TABLE t (ts TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 
          DEFAULT CURRENT_TIMESTAMP); 
+0

是不是有一個日期時間? – jkushner 2009-12-13 19:20:34

+1

還有一個明確記錄的限制條件,即您只能在單個列上進行默認和自動更新 - 不會根據請求對兩列進行分割。只有一列可以這樣處理。似乎是一種奇怪的限制;問題中的情況非常普遍。如果你可以在兩列上完成,那麼'date_created'列將被賦予一個沒有ON UPDATE子句的缺省值,並且更新的日期將包含默認和ON UPDATE子句。 – 2009-12-13 19:24:26

+0

從MySQL 5.6.5開始,此限制[已取消](http://optimize-this.blogspot.com/2012/04/datetime-default-now-finally-available.html)。 – Mei 2012-04-23 17:55:45