SQL代码中的错误1064

时间:2011-12-21 14:59:30

标签: mysql sql mysql-error-1064

我使用phpMyAdmin表单创建一个表,即我填写了字段并生成了代码。生成的代码不起作用,但我找不到错误。任何帮助,将不胜感激。

#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 '( 1 ) NOT NULL DEFAULT  '0',

userEmail VARCHAR(255)NOT NULL,PRIMARY KEY('第14行

以下是代码:

CREATE TABLE members (
userID INT( 9 ) NOT NULL AUTO_INCREMENT ,
userName VARCHAR( 15 ) NOT NULL ,
userPwd VARCHAR( 16 ) NOT NULL ,
userTitle VARCHAR( 4 ) NOT NULL ,
fName VARCHAR( 30 ) NOT NULL ,
lName VARCHAR( 30 ) NOT NULL ,
address VARCHAR( 255 ) NULL ,
dateOfBirth VARCHAR( 10 ) NULL ,
userJob VARCHAR( 15 ) NULL ,
regDate VARCHAR( 20 ) NOT NULL ,
accType CHAR( 1 ) NOT NULL DEFAULT  'F',
regCode VARCHAR( 255 ) NOT NULL ,
isActivated BOOL( 1 ) NOT NULL DEFAULT  '0',
userEmail VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY (  userID ) ,
UNIQUE (userName ,userEmail)
) ENGINE = MYISAM

mysql ver 5.1 php ver 5.2。*

2 个答案:

答案 0 :(得分:3)

你不能使用BOOL(1)
尝试以下(我刚用BOOL替换BOOL(1))
BOOL和BOOLEAN是TINYINT(1)的同义词。

CREATE TABLE members (
userID INT( 9 ) NOT NULL AUTO_INCREMENT ,
userName VARCHAR( 15 ) NOT NULL ,
userPwd VARCHAR( 16 ) NOT NULL ,
userTitle VARCHAR( 4 ) NOT NULL ,
fName VARCHAR( 30 ) NOT NULL ,
lName VARCHAR( 30 ) NOT NULL ,
address VARCHAR( 255 ) NULL ,
dateOfBirth VARCHAR( 10 ) NULL ,
userJob VARCHAR( 15 ) NULL ,
regDate VARCHAR( 20 ) NOT NULL ,
accType CHAR( 1 ) NOT NULL DEFAULT  'F',
regCode VARCHAR( 255 ) NOT NULL ,
isActivated BOOL NOT NULL DEFAULT  '0',
userEmail VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY (  userID ) ,
UNIQUE (userName ,userEmail)
) ENGINE = MYISAM

答案 1 :(得分:2)

更改 isActivated BOOL( 1 ) NOT NULL DEFAULT '0',

isActivated BOOL NOT NULL DEFAULT '0',

您可以阅读更多内容:here

  

M表示整数类型的最大显示宽度

Bool没有这个,所以你不能指定宽度。它始终是1