代替的方案是使用TIMESTAMP類型代替DATETIME類型。
CURRENT_TIMESTAMP :當我更新這條記錄的時候,這條記錄的這個字段不會改變。
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP :當我更新這條記錄的時候,這條記錄的這個字段將會改變。即時間變為了更新時候的時間。
(注意一個UPDATE設置一個列為它已經有的值,這將不引起TIMESTAMP列被更新,因為如果你設置一個列為它當前的值,MySQL為了效率而忽略更改。)如果有多個TIMESTAMP列,只有第一個自動更新。
下面為您介紹MySQL設置當前時間為默認值的實現全步驟
數據庫:test_db1
創建表:test_ta1
字段:
id 編號(自增 且為主鍵),
createtime 創建日期(默認值為當前時間)
方法一、用alert table語句創建:
代碼如下 復制代碼use test_db1; create table test_ta1( id mediumint(8) unsigned not nulll auto_increment, createtime datetime, primary key (id) )engine=innodb default charset=gbk; alert table test_ta1 change createtime createtime timestamp not null default now();
方法二、直接創建:
代碼如下 復制代碼use test_db1; create table test_ta1( id mediumint(8) unsigned not nulll auto_increment, createtime timestamp not null default current_timestamp, primary key (id) )engine=innodb default charset=gbk;
方法三、使用可視化工具(如 mysql-front)創建
右擊createtime屬性
把Type屬性值改為timestamp
default 屬性選擇<INSERT-TimeStamp>
以上就是MySQL設置當前時間為默認值的方法介紹