我使用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。*
答案 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