2012-07-05 138 views
-1

這裏的時候是代碼:錯誤1064試圖創建一個表

create table `team`.`User`( 
    `UserID` bigint NOT NULL AUTO_INCREMENT , 
    `Username` text(30) NOT NULL , 
    `Email` text(30) NOT NULL , 
    PRIMARY KEY (`UserID`) 
) Engine= [default] comment='' row_format=Default 

和錯誤消息:

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 
'[default] comment='' row_format=Default' at line 6 

誰能告訴我爲什麼我收到此錯誤,以及如何解決它?

編輯:此代碼是由SQLyog自動生成的。看起來引擎位正在引起問題。有誰知道如何使用SQLyog來設置默認引擎?

+0

如果您想使用默認引擎,那麼只需從create table語句中保留該部分即可。 – 2012-07-05 09:46:29

+0

你在''不明白的東西'中檢查與你的MySQL服務器版本相對應的手冊,以便使用正確的語法「'? – Romain 2012-07-05 09:46:33

+0

請不要改變你的問題。你在這裏有很多答案可以解決你發佈的問題。如果你需要,發表另一個問題,在其中提到這個問題... – Marco 2012-07-05 10:04:31

回答

1

據我所知,方括號在MySQL中沒有任何特殊含義。您可能與其他一些DBMS混淆。

Valid syntax對於ENGINE關鍵字是ENGINE [=] engine_name。例如: -

ENGINE=InnoDB 

...或

ENGINE InnoDB 

如果你不關心存儲引擎,取消該和MySQL將使用默認值。

2

如果你想使用默認引擎,你應該嘗試刪除Engine= [default]部分。
您的查詢應該是

CREATE TABLE `team`.`User`( 
    `UserID` BIGINT NOT NULL AUTO_INCREMENT , 
    `Username` TEXT(30) NOT NULL , 
    `Email` TEXT(30) NOT NULL , 
    PRIMARY KEY (`UserID`) 
) comment='' 
1

Engine= [default],嘗試用Engine= MyISAM,例如。