错误1064试图创建一个表

问题描述:

这里的时候是代码:错误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

据我所知,方括号在MySQL中没有任何特殊含义。您可能与其他一些DBMS混淆。

Valid syntax对于ENGINE关键字是ENGINE [=] engine_name。例如: -

ENGINE=InnoDB 

...或

ENGINE InnoDB 

如果你不关心存储引擎,取消该和MySQL将使用默认值。

如果你想使用默认引擎,你应该尝试删除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='' 

Engine= [default],尝试用Engine= MyISAM,例如。

您创建的查询是错误的。 看看手册and what is the correct syntax for ENGINE