我有這樣的MySQL表:MySQL的:如何設置默認的用戶在觸發
create table test.customer (
ID INTEGER,
CREATION_TIME DATETIME,
CREATION_USER VARCHAR(50),
CHANGE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CHANGE_USER VARCHAR(50),
PRIMARY KEY(ID)
);
我想自動設置用戶&時間戳記錄的目的。我有插入前一個觸發器(只實際寫入的CREATION_TIME):
delimiter #
create trigger test.customer_creation
before insert on test.customer
for each row
begin
set NEW.CREATION_TIME = NOW();
IF (NEW.CREATION_USER is null or NEW.CREATION_USER = '')
THEN set NEW.CREATION_USER = USER();
end IF;
end #
delimiter ;
,但我真的不希望只是爲了CHANGE_USER觸發。有沒有可能設置CHANGE_USER類似於:DEFAULT USER()?還是我必須創建一個額外的觸發器?
不幸的是,您不能使用函數作爲列的默認值。 _數據類型規範中的DEFAULT值子句指示列的默認值。有一個例外,默認值必須是常數;它不能是一個函數或表達式http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html –
感謝您的解釋。 mysql知識+1 =) – CodingGentleman