我正在mariadb/mysql引擎中运行以下查询。'createdAt'的默认值无效DATETIME DEFAULT NOW()
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;
不过,我收到以下错误:
在创建表时发生错误:
{Invalid default value for '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
任何帮助表示赞赏。
你正在运行什么版本。在DATETIME上允许“DEFAULT”是一项很少的新功能。 (对于'TIMESTAMP'很古老。) –
@RickJames非常感谢你,这确实是由于旧的mariadb。我正在运行5.x.现在我已升级到10.X. – codebased