51

下面的查询我在 Ubuntu 12、MySQL 5.1 版本中执行并收到上述错误:

CREATE TABLE mantis_config_table (
    config_id VARCHAR(64) NOT NULL,
    project_id INTEGER NOT NULL DEFAULT 0,
    user_id INTEGER NOT NULL DEFAULT 0,
    access_reqd INTEGER DEFAULT 0,
    type INTEGER DEFAULT 90,
    value LONGTEXT NOT NULL,
    PRIMARY KEY (config_id, project_id, user_id)
) TYPE=MyISAM;

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 9 行的 'TYPE=MyISAM' 附近使用正确的语法

任何人都可以提出什么问题吗?

4

4 回答 4

93

代替

TYPE=MyISAM

ENGINE=MyISAM

问题是“TYPE=MyISAM”,根据 MySQL 版本更新应该是“ENGINE=MyISAM”——一个简单的搜索/替换就可以解决它。

于 2012-07-13T13:06:20.013 回答
29

不要再使用关键字TYPE了。改为使用ENGINE

TYPE 关键字已被贬低(从 5.0 开始)并且在 MySQL5.5 中不支持

CREATE TABLE mantis_config_table 
( 
   ...   
) 
ENGINE = MyISAM;
^^^^^^--------------------- HERE
于 2012-07-13T13:04:59.790 回答
15

在较新的 MySQL 版本中:

ENGINE=MyISAM

这里是教程(MySQL)

于 2012-07-13T13:04:34.750 回答
7

使用 ENGINE 而不是 TYPE

ENGINE = MYISAM ;
于 2012-07-13T13:06:52.083 回答