错误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来设置默认引擎?
答
据我所知,方括号在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
,例如。
如果您想使用默认引擎,那么只需从create table语句中保留该部分即可。 – 2012-07-05 09:46:29
你在''不明白的东西'中检查与你的MySQL服务器版本相对应的手册,以便使用正确的语法“'? – Romain 2012-07-05 09:46:33
请不要改变你的问题。你在这里有很多答案可以解决你发布的问题。如果你需要,发表另一个问题,在其中提到这个问题... – Marco 2012-07-05 10:04:31