MySQL資料庫中的Date,DateTime和TimeStamp類型
DATETIME類型用在你需要同時包含日期和時間資訊的值時。MySQL檢索並且以'YYYY-MM-DD HH:MM:SS'格式顯示DATETIME值
DATE類型用在你僅需要日期值時,沒有時間部分。MySQL檢索並且以'YYYY-MM-DD'格式顯示DATE值
TIMESTAMP列類型提供一種類型,你可以使用它自動地用當前的日期和時間標記INSERT或UPDATE的操作。如果你有多個TIMESTAMP列,只有第一個自動更新。
自動更新第一個TIMESTAMP列在下列任何條件下發生:
列沒有明確地在一個INSERT或LOAD DATA INFILE語句中指定。
列沒有明確地在一個UPDATE語句中指定且一些另外的列改變值。(注意一個UPDATE設定一個列為它已經有的值,這將不引起TIMESTAMP列被更新,因為如果你設定一個列為它當前的值,MySQL為了效率而忽略更改。)
你明確地設定TIMESTAMP列為NULL.
除第一個以外的TIMESTAMP列也可以設定到當前的日期和時間,只要將列設為NULL,或NOW()。
ps.該網站同時還收錄了一些相關技術應用的文章
[原創]MYSQL中TIMESTAMP類型的預設值
MYSQL中TIMESTAMP類型可以設定預設值,就像其他類型一樣。
1、自動UPDATE 和INSERT 到當前的時間:
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
2、自動INSERT 到目前時間,不過不自動UPDATE。
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
3、一個表中不能有兩個欄位預設值是目前時間,否則就會出錯。不過其他的可以。
`p_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`p_timew2` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
mysql插入目前時間
now()函數以`yyyy-mm-dd hh:mm:ss返回當前的日期時間,可以直接存到datetime欄位中。
curdate()以’yyyy-mm-dd’的格式返回今天的日期,可以直接存到date欄位中。
curtime()以’hh:mm:ss’的格式返回當前的時間,可以直接存到time欄位中。