2013-07-18 102 views
0

試圖創建下表:MYSQL表出錯 - 1064

CREATE TABLE login (
     IdUser int(11) NOT NULL AUTO_INCREMENT, 
     username varchar(45) CHARACTER SET latin1 NOT NULL, 
     pass varchar(45) CHARACTER SET latin1 NOT NULL, 
     PRIMARY KEY (IdUser), 
     ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8$$); 

似乎不能正常工作。我得到的MYSQL的錯誤是:

#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 '=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8$$' at line 6 
+0

'utf8'後的'$$'是什麼意思? –

+0

這是故意的。 – qweqweqwe

+0

你是..不是..用純文本存儲'pass' ...你是嗎? – Kermit

回答

3

支架在錯誤的地方:

PRIMARY KEY (IdUser), 
ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8$$); 
                ^---- 

應該

PRIMARY KEY (IdUser) <--note removed comma 
) ENGINE=MyIsam etc... 
^--- 

你處理這些表的選項,因爲他們是場,將它們放在()字段定義塊中。

+0

仍似乎沒有工作。你的完整答案是什麼? – qweqweqwe

0

在我的情況下,一些sql正在工作,但大多數在更改Type = ENGINE後不工作。

CREATE TABLE `p4_acl_page` (
    `id` int(2) NOT NULL auto_increment, 
    `label` varchar(80) default NULL, 
    `lastupdate` timestamp(14) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyIsam;