MySQL ERROR 1064(42000)导入OpenGeoDB

时间:2014-05-17 15:47:05

标签: mysql mysql-error-1064 data-import

我想将OpenGeoDB导入到我的Debian VM上的数据库中,并使用MySQL Ver 14.14 Distrib 5.6.17

$ mysql -uroot -p -h localhost geodb < opengeodb-begin.sql 

失败并显示错误

ERROR 1064 (42000) at line 14: 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 CHARACTER SET utf8' at line 6

来自OpenGeoDB download area的opengeodb-begin.sql中第6行的MySQL代码如下所示:

/*
 * MySQL
 */



SET NAMES 'utf8';

BEGIN;
/*
 * Table structure for table 'geodb_type_names'
 */

create table geodb_type_names (
  type_id              integer not null,
  type_locale          varchar(5) not null,
  name                 varchar(255) not null,             /* varchar(500)? */
unique (type_id, type_locale)
) TYPE=InnoDB CHARACTER SET utf8;

因此,数据库服务器似乎遇到TYPE=InnoDB CHARACTER SET utf8;的问题。

同时它可以在我的远程Ubuntu服务器上使用MySQL Ver 14.14 Distrib 5.1.41

我看到的唯一重要区别是MySQL版本。

什么可能导致错误?

1 个答案:

答案 0 :(得分:3)

好的,似乎确实是这样,问题是数据库服务器版本。关键字TYPE不再受支持,已替换为ENGINE

我在TYPE=...语句中将所有ENGINE=...替换为CREATE,如

create table geodb_type_names (
  type_id              integer not null,
  type_locale          varchar(5) not null,
  name                 varchar(255) not null,             /* varchar(500)? */
unique (type_id, type_locale)
) ENGINE=InnoDB CHARACTER SET utf8;

现在可行。