在創建表時如果表中有一個字段類型為TIMESTAMP,則該字段默認的生成語句為:
CREATE TABLE `test` ( `id` int(11) DEFAULT NULL, `ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=gbk
如果有兩個字段類型為TIMESTAMP,則生成語句為:
CREATE TABLE `test` ( `id` INT(11) DEFAULT NULL, `ctime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `utime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=INNODB DEFAULT CHARSET=gbkTIMESTAMP設置默認值是Default CURRENT_TIMESTAMP、
TIMESTAMP設置隨著表變化而自動更新是ON UPDATE CURRENT_TIMESTAMP
1、TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
在創建新記錄和修改現有記錄的時候都對這個數據列刷新
2、TIMESTAMP DEFAULT CURRENT_TIMESTAMP
在創建新記錄的時候把這個字段設置為當前時間,但以後修改時,不再刷新它
3、TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
在創建新記錄的時候把這個字段設置為0,以後修改時刷新它