2011-12-21 8 views
1

phpMyAdminフォームを使用してテーブルを作成しました。つまり、フィールドに入力してコードを生成しました。生成されたコードは機能しませんが、エラーは見つかりません。どんな助けもありがとう。SQLコードのエラー1064

#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

コードです:。5.2版

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 5.1版のPHP *

+0

あなたはまた 'BIT(1)'を使うことができます:http://dev.mysql.com/doc/refman/5.1/en/bit-type.html –

答えて

2

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

isActivated BOOL NOT NULL DEFAULT '0',

、あなたはそれについての詳細を読むことができます:here

Mは整数タイプの最大表示幅を示し

Boolにはこれがないため、幅を指定することはできません。それは常に1

+0

Thxそれは働いた。今は馬鹿だと感じる:3 –

3

ます
以下を試してみてください(私はBOOL(1)をBOOLに置き換えました)
BOOLとBOOLEANはsynonyですTINYINT(1)のms。

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 
+0

あなたは少なくとも何*あなた*変更?私は違いを見ることができません... – Blender

+0

それに従って – cristian

+0

行16行14に変更されました。また、ユニークのための二重のパラメータが動作しているようです。 –