使用MySQL创建表并在SQL语句中设置TYPE=InnoDB

4

我想用这段代码来创建一个mysql表:

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;

这是来自OpenGeoDb的mysql转储文件。

所以我并不是自己创建的。 如果我在phpmyadmin中包含这个语句,就会出现以下错误信息:

#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=InnoDB CHARACTER SET utf8' at line 10 

但是我找不到这个问题的原因。也许有人可以帮忙吗?

非常感谢。


可能是CREATE TABLE ... TYPE=MYISAM出现1064错误的重复问题。 - Aman Aggarwal
现在 TYPE 已经不再使用,请使用 ENGINE 代替 TYPE。 - Sonia Bhatia
1个回答

7

TYPEENGINE所取代。在MySQL 4.0中,TYPE已被弃用,并在MySQL 5.5中删除。

使用以下查询:

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;

谢谢。我会在几分钟内尝试它。 - cgee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接