错误1067'created_at'的默认值无效

时间:2020-06-18 02:40:21

标签: mysql create-table

我正在使用以下脚本创建表

CREATE TABLE `ninjapizza`.`products` (
  `ID` INT NOT NULL AUTO_INCREMENT,
  `Name` VARCHAR(45) NULL,
  `description` VARCHAR(45) NULL,
  `email` VARCHAR(45) NULL,
  `created_on` TIMESTAMP(2) NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ID`));

但是在应用时,我收到以下消息

Operation failed: There was an error while applying the SQL script to the database.
Executing:
CREATE TABLE `ninjapizza`.`products` (
  `ID` INT NOT NULL AUTO_INCREMENT,
  `Name` VARCHAR(45) NULL,
  `description` VARCHAR(45) NULL,
  `email` VARCHAR(45) NULL,
  `created_on` TIMESTAMP(2) NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ID`));

ERROR 1067: Invalid default value for 'created_on'
SQL Statement:
CREATE TABLE `ninjapizza`.`products` (
  `ID` INT NOT NULL AUTO_INCREMENT,
  `Name` VARCHAR(45) NULL,
  `description` VARCHAR(45) NULL,
  `email` VARCHAR(45) NULL,
  `created_on` TIMESTAMP(2) NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`ID`))

我还执行了以下命令

SET sql_mode = 'ALLOW_INVALID_DATES';

但是仍然出现错误。有人可以指导。

1 个答案:

答案 0 :(得分:0)

'如果TIMESTAMP或DATETIME列定义在任何地方都包含显式的小数秒精度值,则在整个列定义中必须使用相同的值' https://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html

请参阅https://www.db-fiddle.com/f/sNoeVP5PATCsGxhVw2vPki/0

相关问题