服务器托管控制面板

MySQL5.5.x数据库导入SQL文件时出现#1064-SQL语法错误解决办法

在v5.5.x版本的MySQL数据库中导入早期的SQL备份,会出现‘1064 You have an error in your SQL syntax’ 的错误提示,导致导入失败。这个SQL备份在v5.0.x的版本下却是正常的。这是什么原因呢?

在v5.5.x版本的MySQL数据库中导入早期的SQL备份,会出现‘#1064 You have an error in your SQL syntax’ 的错误提示,导致导入失败。这个SQL备份在v5.0.x的版本下却是正常的。

错误提示:

#1064 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=MyISAM AUTO_INCREMENT=1' at line 1in:

[CREATE TABLE xxx ( xxxxx int(11) NOT NULL auto_increment,xxxx datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (xxx) ) TYPE=MyISAM AUTO_INCREMENT=1;]

If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.

MySQL的#1064错误主要是SQL语法错误导致的,MySQL数据会提示检查SQL文件的语法错误。但是我们发现同样的SQL备份,在v5.0.x版本的MySQL数据库下,导入完全正确。这个会是什么问题呢?

在查找资料之后,我们终于在官方网站找到如下解释:
http://dev.mysql.com/doc/refman/4.1/en/create-table.html

The ENGINE and TYPE options specify the storage engine for the table. ENGINE was added in MySQL 4.0.18 (for 4.0) and 4.1.2 (for 4.1). It is the preferred option name as of those versions, and TYPE has become deprecated. TYPE is supported throughout the 4.x series, but likely will be removed in the future.

ENGINE和TYPE是指定数据库存储引擎的两个关键词。ENGINE关键词是MySQL 4.0.18 (4.0的版本) 和 MySQL 4.1.2 (4.1的版本)之后的版本增加进来的。建议以后使用ENGINE这个选项。MySQL 4.x版本都支持TYPE这个选项关键词,但是之后的版本可能会弃用TYPE这个选项关键词。


解决方法:
将SQL备份中的'TYPE'选项关键词替换为'ENGINE' 
 
  


SUN-V01 香港云主机

  • AMD EPYC 四核心
  • 内存: 8GB
  • 硬盘: 200 GB SSD
  • 10 Mbps CN2
  • 免费1个IP
  • 360元/月

PCCW-T14 香港服务器租用

  • Dell R730xd 2x Xeon E5-2620v3 v12核24线程
  • 内存: 64GB
  • 硬盘: 4x2TB 硬体磁盘阵RAID 1
  • 5M
  • 免费5个IP
  • 4190元/月

PCCW-T13 香港服务器租用

  • Dell R430 2x Xeon E5-2620v3 12核24线程
  • 内存: 32GB
  • 硬盘: 2x2TB 硬体磁盘阵RAID 1
  • 5M
  • 免费5个IP
  • 2890元/月

PCCW-T12 香港服务器租用

  • Dell R430 Xeon E5-2620v3 6核12线程
  • 内存: 16GB
  • 硬盘: 2x2TB 硬体磁盘阵RAID 1
  • 5M
  • 免费5个IP
  • 2390元/月

PCCW-T11 香港服务器租用

  • Dell RDSS 1500 2xXeon E5-2620v4 16 核心32
  • 内存: 32GB
  • 硬盘: 2x2TB 硬体磁盘阵RAID 1
  • 5M
  • 免费5个IP
  • 2690元/月