DATE只保存日期,不保存時分秒
DATETIME類型用在你需要同時包含日期和時間信息的值時。MySQL檢索并且以'YYYY-MM-DD HH:MM:SS'格式顯示DATETIME值,支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。
TIMESTAMP列類型提供一種類型,你可以使用它自動地用當前的日期和時間標記INSERT或UPDATE的操作。如果你有多個TIMESTAMP列,只有第一個自動更新。
自動更新第一個TIMESTAMP列在下列任何條件下發生:
列沒有明確地在一個INSERT或LOAD DATA INFILE語句中指定。
列沒有明確地在一個UPDATE語句中指定且一些另外的列改變值。(注意一個UPDATE設置一個列為它已經有的值,這將不引起TIMESTAMP列被更新,因為如果你設置一個列為它當前的值,MySQL為了效率而忽略更改。)
你明確地設定TIMESTAMP列為NULL.
除第一個以外的TIMESTAMP列也可以設置到當前的日期和時間,只要將列設為NULL,或NOW()。
自動更新TIMESTAMP時建表語句應為如下類似
CREATE TABLE `t_jindou_xx` (
`account` varchar(18) NOT NULL default '',
`money` decimal(10,2) NOT NULL default '0.00',
`update_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`account`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
TIMESTAMP類型保存的值不能比1970早或比2037晚,這意味著,一個日期例如'1968-01-01',當作為一個DATETIME或DATE值合法時,它不是一個正確TIMESTAMP值,并且 如果賦值給這樣一個對象,它將被變換到0。