简体   繁体   English

MySQL无效的[something]默认值

[英]MySQL invalid default value for [something]

I tried to restore external MySQL DB in my window MySQL. 我试图在窗口MySQL中还原外部MySQL DB。

mysql -u root -p test < C:\Users\myname\Downloads\db.sql

but there is error like this. 但是有这样的错误。

ERROR 1067 (42000) at line 200: Invalid default value for 'VERSION_DATE'

some people said that it was caused by character encoding so i tried this again. 有人说这是字符编码引起的,所以我再次尝试了。

mysql -u root -p test < C:\Users\myname\Downloads\db.sql --default-character-set=utf8

but same error. 但同样的错误。

what is wrong with this MySQL restoring. MySQL恢复有什么问题。

here's the line 200 starts. 这是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;

I found this link which may prove useful: Mysql datetime DEFAULT CURRENT_TIMESTAMP error 我发现此链接可能被证明有用: Mysql datetime DEFAULT CURRENT_TIMESTAMP错误

Yes, it may be due to difference on mysql versions (if you did the backup on one version and restoring on another one). 是的,这可能是由于mysql版本不同(如果您在一个版本上进行了备份而在另一个版本上进行了还原)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM