所以以
複製** **如下:
create_time datetime default now()
的形式設定預設值是不可能的。
代替的方案是使用timestamp型別代替datetime型別。
current_timestamp :當我更新這條記錄的時候,這條記錄的這個字段不會改變。
current_timestamp on update current_timestamp :當我更新這條記錄的時候,這條記錄的這個欄位將會改變。即時間變為了更新時候的時間。(注意乙個update設定乙個列為它已經有的值,這將不引起timestamp列被更新,因為如果你設定乙個列為它當前的值,mysql為了效率而忽略更改。)如果有多個timestamp列,只有第乙個自動更新。
timestamp列型別自動地用當前的日期和時間標記insert或update的操作。
如果有多個timestamp列,只有第乙個自動更新。
自動更新第乙個timestamp列在下列任何條件下發生:
列值沒有明確地在乙個insert或load程式設計客棧 data infile語句中指定。
列值沒有明確地在乙個update語句中指定且另外一些的列改變值。(注意乙個update設定乙個列為它已經有的值,這將不引起timestamp列被更新,因為如果你程式設計客棧設定乙個列為它當前的值,mysql為了效率而忽略更改。)
你明確地設定timestamp列為null.
除第乙個以外的timestamp列也可以設定到當前的日期和時間,只要將列設為null,或now()。
另外在5.0以上版本中也可以使用trigger來實現此功能。
複製** **如下:
create table test_time (
id int(11),
create_time da
); delimiter |
create trigger default_datetime before insert on test_time
for each row
if new.create_titmlhmexbkzme is null then
set netmlhmexbkzw.create_time = now();
end if;|
delimiter ;
本文標題: mysql 設定預設的時間值
本文位址:
mysql 時間字段預設設定型別
以mysql資料庫為例 建立兩個字段 create time update time 分別以資料型別datetime 與 timestamp 為例 create time datetime default current timestamp update time datetime default ...
mysql 預設設定
甲骨文mysql部門副總裁 tomas ulin在mysql connect 2012大會上稱,甲骨文已經對mysql server 5.6中的預設設定進行了更改,主要如下 設定舊值 新值back log 5050 max connections 5 上限為900 binlog checksum n...
設定mysql中時間的預設值
實現方式 1 將字段型別設為 timestamp 2 將預設值設為 current timestamp 舉例應用 新增createtime 設定預設時間 current timestamp alter table table name add column createtime datetime n...