CREATE TABLE … TYPE = MYISAM中的1064错误

这是我的错误(如果你需要更多的信息只是问) – 错误的SQL查询:

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 ; 

MySQL说:

1064 – 你的SQL语法错误; 检查对应于MySQL服务器版本的手册,在第6行的“TYPE = MyISAM”附近使用正确的语法

正如在CREATE TABLE下logging的语法 :

注意
旧的TYPE选项与ENGINE同义。 TYPE在MySQL 4.0中被弃用,并在MySQL 5.5中被删除。 升级到MySQL 5.5或更高版本时,必须转换依赖于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 ; 
 CREATE TABLE `admnih` ( `id` int(255) NOT NULL auto_increment, `asim` varchar(255) NOT NULL default '', `brid` varchar(255) NOT NULL default '', `rwtbah` int(1) NOT NULL default '0', `esmmwkeh` varchar(255) NOT NULL default '', `mrwr` varchar(255) NOT NULL default '', `tid` int(255) NOT NULL default '0', `alksmfialdlil` int(255) NOT NULL default '0', `tariktsjil` varchar(255) NOT NULL default '', `aimwke` varchar(255) NOT NULL default '', `twkie` text NOT NULL, `rwtbahkasah` int(255) NOT NULL default '0', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=2 ; 
 SELECT Email, COUNT(*) FROM user_log WHILE Email IS NOT NULL GROUP BY Email HAVING COUNT(*) > 1 ORDER BY UpdateDate DESC 

MySQL说:文档#1064 – 你的SQL语法错误; 检查对应于您的MySQL服务器版本的手册,在第36行的“TYPE = MyISAM”附近使用正确的语法


下面的修正:

 CREATE TABLE users_online ( ip varchar(15) NOT NULL default '', time int(11) default NULL, PRIMARY KEY (ip), UNIQUE KEY id (ip), KEY id_2 (ip) TYPE=MyISAM; ) # # Data untuk tabel `users_online` # INSERT INTO users_online VALUES ('127.0.0.1', 1158666872); 

尝试下面的查询

 CREATE TABLE card_types ( card_type_id int(11) NOT NULL auto_increment, name varchar(50) NOT NULL default '', PRIMARY KEY (card_type_id), ) ENGINE = MyISAM ;