首页 >数据库 >mysql教程 >为什么在 MySQL 5.5 中 TYPE=MYISAM 时 MyISAM 表创建失败?

为什么在 MySQL 5.5 中 TYPE=MYISAM 时 MyISAM 表创建失败?

Barbara Streisand
Barbara Streisand原创
2024-12-12 22:49:14840浏览

Why is MyISAM Table Creation Failing with TYPE=MYISAM in MySQL 5.5 ?

无法使用 TYPE=MYISAM 创建表

尝试使用旧 TYPE 语法创建表时,例如:

CREATE TABLE dave_bannedwords(

id INT( 11 ) NOT NULL AUTO_INCREMENT ,
word VARCHAR( 60 ) NOT NULL DEFAULT  '',
PRIMARY KEY ( id ) ,
KEY id( id )
) TYPE = MYISAM ;

您可能会遇到错误像:

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' at line 6

解决方案

如 MySQL 文档中 CREATE TABLE 语法所述:

“旧的 TYPE 选项与 ENGINE 同义.TYPE 在 MySQL 4.0 中已弃用,并在 MySQL 5.5 中删除。或更高版本,您必须将依赖 TYPE 的现有应用程序转换为使用 ENGINE。”

因此,将 TYPE 替换为 ENGINE 即可成功创建表:

CREATE TABLE dave_bannedwords(
  id   INT(11)     NOT NULL AUTO_INCREMENT,
  word VARCHAR(60) NOT NULL DEFAULT '',
  PRIMARY KEY (id),
  KEY id(id) -- this is superfluous in the presence of your PK, ergo unnecessary
) ENGINE = MyISAM ;

以上是为什么在 MySQL 5.5 中 TYPE=MYISAM 时 MyISAM 表创建失败?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn