I am creating a table with the following script
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`));
But on Apply I get the following message
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`))
I have also executed the following command
SET sql_mode = 'ALLOW_INVALID_DATES';
But still getting the error. Can someone please guide.
'If a TIMESTAMP or DATETIME column definition includes an explicit fractional seconds precision value anywhere, the same value must be used throughout the column definition' https://dev.mysql.com/doc/refman/5.7/en/timestamp-initialization.html