2011-01-14 7 views
0

次のSQL文は、phpMyAdminによると構文エラーがありますが、それが何であるかはわかりません。何か案は?私のMySQLのステートメントのエラーは何ですか?

CREATE TABLE allocations(
`student_uid` INT unsigned NOT NULL DEFAULT 0, 
`active` INT unsigned NOT NULL DEFAULT 1, 
`name` VARCHAR(255) NOT NULL DEFAULT '', 
`internal_id` VARCHAR(255) DEFAULT '', 
`tutor_uid` INT NOT NULL DEFAULT 0, 
`allocater_uid` INT unsigned NOT NULL DEFAULT 0, 
`time_created` INT NOT NULL DEFAULT 0, 
`remote_time` FLOAT NOT NULL DEFAULT 0, 
`next_lesson` VARCHAR NOT NULL DEFAULT -1, 
PRIMARY KEY (student_uid) 
); 
+1

に変更する必要があります。 – VGE

+1

ここに完全なエラーメッセージを入力してください。 – zerkms

+0

素早い回答ありがとう - VARCHARの長さが足りませんでした。コードは今すぐ動作します:) – Jim

答えて

0
next_lesson` VARCHAR NOT NULL DEFAULT -1, 

は、それが助けにエラーメッセージを送ってください

`next_lesson` VARCHAR(255) NOT NULL DEFAULT -1, 
+0

@dorkitude私の謝罪私はあなたが私が提出したときに同じ答えを持っていたことを気付かなかった – garyj

6

VARCHAR型はサイズが必要です(そして、それは価値の周りに引用符を使用するためにスマートです)ので、私は考えることができる

`next_lesson` VARCHAR(255) NOT NULL DEFAULT '-1', 
+0

そして-1は正しいデフォルトですか? – Artelius

+0

引用符で '-1'を使用してください。 –

+0

@ Angel.King.47この場合は引用符なしで動作しますが、呼び出しは良好です。私は私の答えを –

0

2のもので

`next_lesson` VARCHAR NOT NULL DEFAULT -1, 

を交換してみてください。

  1. 私はyとは思わないouはvarcharに空のデフォルト値を設定できますが、mysqlは空の文字列をnullとみなします。

  2. セットVARCHARフィールドように文字列数ではなく、へ:

    next_lesson VARCHAR NOT NULL DEFAULT '-1'、

+0

更新しましたまた、一意でなければならないので、主キーフィールドの既定値を設定する意味がありません。 –

1

あなたの最後のVARCHARは何の長さを持っていません。

関連する問題