我在mariadb / mysql引擎中运行以下查询。
CREATE TABLE IF NOT EXISTS
行情(
ID为INTEGER NOT NULL auto_increment ,
报价TEXT,
作者VARCHAR(255),
流派VARCHAR(255),
标签TEXT,
createdAt DATETIME DEFAULT NOW(),
updatedAt DATETIME DEFAULT NOW(), PRIMARY KEY (
ID为)) ENGINE=InnoDB;
但是,我收到以下错误:
创建表时发生错误:
{'createdAt'}的默认值无效
这是sql模式的结果:
show variables like 'sql_mode' ;
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ALLOW_INVALID_DATES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
感谢任何帮助。
答案 0 :(得分:1)
来自https://mariadb.com/kb/en/library/datetime/:
MariaDB以10.0.1开头,自MariaDB 10.0.1,DATETIME列开始 也接受CURRENT_TIMESTAMP作为默认值。
请注意,未提及NOW()
,但效果相同。