5

次のようなmariadb 5.5でdatetimeのデフォルトを設定しました

CREATE TABLE IF NOT EXISTS test (
    `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);

しかし、それはこのエラーを表示します

Error 1067: Invalid default value for 'create_time'

TIMESTAMP タイプを使用せずに mariadb でデフォルトの現在の時刻値を設定するにはどうすればよいですか?

4

2 に答える 2

1

トリガーを使用して指定します。

create trigger bi_mytable
before insert on mytable 
for each row 
begin
    NEW.create_time = NOW();
end;

そして、これは「作成」値であるため、誰も更新しないようにしてください。

create trigger bu_mytable
before update on mytable 
for each row 
begin
    NEW.create_time = OLD.create_time;
end;
于 2018-06-21T03:43:58.067 に答える