我在 mariadb 5.5 中设置了默认的日期时间,例如
CREATE TABLE IF NOT EXISTS test (
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
Run Code Online (Sandbox Code Playgroud)
但它显示这个错误
Error 1067: Invalid default value for 'create_time'
Run Code Online (Sandbox Code Playgroud)
如何在 mariadb 中设置默认当前时间值但不使用 TIMESTAMP 类型?
使用触发器指定它:
create trigger bi_mytable
before insert on mytable
for each row
begin
NEW.create_time = NOW();
end;
Run Code Online (Sandbox Code Playgroud)
而且,由于它是一个“创建”值,请确保没有人更新它:
create trigger bu_mytable
before update on mytable
for each row
begin
NEW.create_time = OLD.create_time;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11939 次 |
| 最近记录: |