次のSQLを見てください。MySQLデフォルト値が指定されていない場合のタイムスタンプのデフォルト値が無効です。
CREATE SCHEMA IF NOT EXISTS `scheduler`;
USE `scheduler` ;
CREATE TABLE IF NOT EXISTS `scheduler`.`JobHistory` (
`Id` INT NOT NULL AUTO_INCREMENT,
`Job` INT NOT NULL,
`StartTime` TIMESTAMP NOT NULL,
`FinishTime` TIMESTAMP NOT NULL,
PRIMARY KEY (`Id`),
INDEX `fk_JobHistory_Job_idx` (`Job` ASC));
それはErrorCode: 1067. Invalid default value for 'Finish Time'
を投げている。しかし、私もまったく同じであると私はそのいずれかの例外が届かない別のタイムスタンプStartTime
があり、終了時刻のための任意のデフォルト値を与えていませんよ。
興味深いことに、StartTime列またはFinishTime列のいずれかを削除しても正常に動作します。 MySQLはデフォルト値なしの2回目のタイムスタンプを許可していないようです。 – Thomas