一尘不染

由于出现错误,SQL查询无法在phpMyAdmin上运行

sql

我已在phpMyAdmin上输入此代码作为SQL查询。我正在尝试创建一个表(这是另一个站点的副本和粘贴的代码)

   CREATE TABLE `members` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
-- 
-- Dumping data for table `members`
--
INSERT INTO `members` VALUES (1, 'john', '1234');

我得到了错误

“#1064-您的SQL语法有错误;请在第6行的’TYPE = MyISAM AUTO_INCREMENT =
2’附近使用与MySQL服务器版本相对应的手册以获取正确的语法,以使用正确的语法”


阅读 132

收藏
2021-03-17

共1个答案

一尘不染

指定存储引擎应该是ENGINE而不是TYPE:

CREATE TABLE `members` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 ;

参见CREATE TABLE语法

table_option:引擎[=] engine_name

自mysql 4.0起不推荐使用mysql 5.5删除选项TYPE:

较早的TYPE选项是ENGINE的同义词。从MySQL 4.0开始不推荐使用TYPE,但是在MySQL 5.1(MySQL
5.1.7除外)中仍支持向后兼容。从MySQL 5.1.8开始,它会产生警告。在MySQL
5.5中已将其删除。您不应在任何新应用程序中使用TYPE,而应立即开始将现有应用程序转换为使用ENGINE。(请参阅MySQL 5.1.8发行说明。)

资料来源:CREATE TABLE,MySQL 5.1

2021-03-17