您的位置:首页 > 数据库 > MySQL

使用mysqldump导出数据后导入错误的问题

2017-12-11 15:35 489 查看
一 问题描述

二 问题解决

三 解决方案

四 问题原因

一 问题描述

当把mysql中的数据使用musqldump命令从一台Ubuntu系统的机器导出,使用source命令导入到一台centos系统的机器中时,提示脚本中存在语法错误如下:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHA' at line 5


查看了脚本中报错的地方是这样写的:

CREATE TABLE `TextMarker_mainresult` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`version` varchar(10) NOT NULL,
`update_time` datetime(6) NOT NULL,
`doc_type` varchar(20) NOT NULL,
`doc_str` longtext NOT NULL,
`doc_title` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;


二 问题解决

讲如上命令粘切到mysql workbench中准备手动执行一下,数据库管理工具自动提示
`update_time` datetime(6) NOT NULL,
该行存在错误,给出的提示如下:

This syntax is only allowed for server versions starting with 5.6.0. The current version is 5.1.73.


三 解决方案

搜索所有脚本中的datetime类型,将长度全去掉,再次运行即可全部导入成功。

四 问题原因

如上提示所说,导出数据库的版本高于5.6.0,而要导入的数据库的版本比较低导致语法不兼容,所以提示此错误。

ubuntu下的mysql version:5.7.20

centos下的mysql version:5.1.73
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql
相关文章推荐