MySQL [something] 的默认值无效
MySQL invalid default value for [something]
我试图在我的 window MySQL 中恢复外部 MySQL 数据库。
mysql -u root -p test < C:\Users\myname\Downloads\db.sql
但是出现了这样的错误
ERROR 1067 (42000) at line 200: Invalid default value for 'VERSION_DATE'
有人说是字符编码问题,我又试了下
mysql -u root -p test < C:\Users\myname\Downloads\db.sql --default-character-set=utf8
但同样的错误。
这个 MySQL 恢复有什么问题。
这是第 200 行的开始。
CREATE TABLE `APP_EVENT_HISTORY` (
`OWNER_ID` varchar(128) NOT NULL,
`APP_ID` varchar(64) NOT NULL,
`EVENT_ID` varchar(64) NOT NULL,
`VERSION_ID` varchar(64) NOT NULL,
`VERSION_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`SCRIPT` text,
`DESCRIPTION` varchar(1024) DEFAULT NULL,
`CREATE_USER_ID` varchar(128) NOT NULL,
`CREATED_DATE` datetime NOT NULL,
`UPDATE_USER_ID` varchar(128) DEFAULT NULL,
`UPDATED_DATE` datetime DEFAULT NULL,
PRIMARY KEY (`OWNER_ID`,`APP_ID`,`EVENT_ID`,`VERSION_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我发现这个 link 可能有用:
Mysql datetime DEFAULT CURRENT_TIMESTAMP error
是的,这可能是由于 mysql 版本的差异(如果您在一个版本上备份并在另一个版本上恢复)。
我试图在我的 window MySQL 中恢复外部 MySQL 数据库。
mysql -u root -p test < C:\Users\myname\Downloads\db.sql
但是出现了这样的错误
ERROR 1067 (42000) at line 200: Invalid default value for 'VERSION_DATE'
有人说是字符编码问题,我又试了下
mysql -u root -p test < C:\Users\myname\Downloads\db.sql --default-character-set=utf8
但同样的错误。
这个 MySQL 恢复有什么问题。
这是第 200 行的开始。
CREATE TABLE `APP_EVENT_HISTORY` (
`OWNER_ID` varchar(128) NOT NULL,
`APP_ID` varchar(64) NOT NULL,
`EVENT_ID` varchar(64) NOT NULL,
`VERSION_ID` varchar(64) NOT NULL,
`VERSION_DATE` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`SCRIPT` text,
`DESCRIPTION` varchar(1024) DEFAULT NULL,
`CREATE_USER_ID` varchar(128) NOT NULL,
`CREATED_DATE` datetime NOT NULL,
`UPDATE_USER_ID` varchar(128) DEFAULT NULL,
`UPDATED_DATE` datetime DEFAULT NULL,
PRIMARY KEY (`OWNER_ID`,`APP_ID`,`EVENT_ID`,`VERSION_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
我发现这个 link 可能有用: Mysql datetime DEFAULT CURRENT_TIMESTAMP error
是的,这可能是由于 mysql 版本的差异(如果您在一个版本上备份并在另一个版本上恢复)。