将旧的MySQL数据库(5.6.10)导入5.6.12会产生错误

将旧的MySQL数据库(5.6.10)导入5.6.12会产生错误,mysql,sequelpro,Mysql,Sequelpro,在MacOSX服务器上安装最新版本5.6.12之前,我从旧数据库创建了一个简单的sql转储。现在我尝试导入这些文件,但它们都会产生无数的语法错误 错误示例: [ERROR in query 9] 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 'TYPE=InnoDB AUTO_

在MacOSX服务器上安装最新版本5.6.12之前,我从旧数据库创建了一个简单的sql转储。现在我尝试导入这些文件,但它们都会产生无数的语法错误

错误示例:

[ERROR in query 9] 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 'TYPE=InnoDB AUTO_INCREMENT=6' at line 8
[ERROR in query 10] Table 'some.table' doesn't exist
有什么建议吗


提前谢谢

您回答了自己的问题:

问题是:TYPE=InnoDB。据我所知,它应该是ENGINE=InnoDB。Mac(1.0.2)上的Sequel Pro默认生成一个带有“TYPE”的sql转储

是的,这是不推荐使用的语法

说:

注意
较旧的
类型
选项与
引擎
同义<代码>类型自MySQL 4.0以来一直被弃用,但MySQL 5.1(MySQL 5.1.7除外)仍然支持向后兼容。自MySQL 5.1.8以来,它会产生一个警告。它在MySQL 5.5中被删除。您不应该在任何新应用程序中使用
类型
,您应该立即开始将现有应用程序转换为使用
引擎
。(请参阅MySQL 5.1.8的发行说明。)

因此,自2006年以来,该关键字已被弃用,并从2010年起从产品中删除

我发现此错误已在此处报告:


开发人员的回答是Sequel Pro使用SHOW CREATE TABLE导出表定义。如果您的SQL_MODE=“MYSQL323”或“MYSQL40”,则SHOW CREATE TABLE将使用过时的类型选项,而不是正确的引擎选项。因此,您可以通过确保您的SQL_模式未配置为与旧版本的MySQL兼容来解决此问题。

您回答了自己的问题:

问题是:TYPE=InnoDB。据我所知,它应该是ENGINE=InnoDB。Mac(1.0.2)上的Sequel Pro默认生成一个带有“TYPE”的sql转储

是的,这是不推荐使用的语法

说:

注意
较旧的
类型
选项与
引擎
同义<代码>类型自MySQL 4.0以来一直被弃用,但MySQL 5.1(MySQL 5.1.7除外)仍然支持向后兼容。自MySQL 5.1.8以来,它会产生一个警告。它在MySQL 5.5中被删除。您不应该在任何新应用程序中使用
类型
,您应该立即开始将现有应用程序转换为使用
引擎
。(请参阅MySQL 5.1.8的发行说明。)

因此,自2006年以来,该关键字已被弃用,并从2010年起从产品中删除

我发现此错误已在此处报告:


开发人员的回答是Sequel Pro使用SHOW CREATE TABLE导出表定义。如果您的SQL_MODE=“MYSQL323”或“MYSQL40”,则SHOW CREATE TABLE将使用过时的类型选项,而不是正确的引擎选项。因此,您可以通过确保您的SQL_模式未配置为与旧版本的MySQL兼容来解决此问题。

错误查询的示例将有助于显示导致此错误的转储中的实际查询示例。错误消息还不足以说明这一点,尽管很明显,您的转储具有无效语法。显然,Stackoverflow认为回答我自己的问题风险太大,所以它在注释中。问题是:TYPE=InnoDB。据我所知,它应该是ENGINE=InnoDB。Mac(1.0.2)上的Sequel Pro在默认情况下生成一个带有“TYPE”的sql转储。错误查询的示例将有助于显示导致此错误的转储中的实际查询示例。错误消息还不足以说明这一点,尽管很明显,您的转储具有无效语法。显然,Stackoverflow认为回答我自己的问题风险太大,所以它在注释中。问题是:TYPE=InnoDB。据我所知,它应该是ENGINE=InnoDB。Mac(1.0.2)上的Sequel Pro默认生成一个带有“TYPE”的sql转储。