3

テーブルチェックを作成したかったのですが、名前チェックで作成されないのはなぜですか。コマンドでエラーが発生した場合は、名前チェック1に変更して動作していると思いました。理由を教えてください。

CREATE TABLE check(
     name  VARCHAR(100) NOT NULL,
   password VARCHAR(40) NOT NULL

   );
CREATE TABLE check1(
     name  VARCHAR(100) NOT NULL,
   password VARCHAR(40) NOT NULL

   );

ここに画像の説明を入力してください

4

5 に答える 5

1

check予約語です。

リスト全体をMySQLの予約語で確認できます

編集
私の答えを改善するために(将来それをチェックする必要があるかもしれません)、@ cja answerの情報から来て、次のようにテーブル名をラップすることも可能です:

`check`

この場合、名前は予約語とは見なされません。

于 2013-02-26T12:27:09.310 に答える
1

checkはMySQLの予約語です。

試す

CREATE TABLE `check` (
  name VARCHAR(100) NOT NULL,
  password VARCHAR(40) NOT NULL
);

ただし、別の名前を選択すると簡単になります。

于 2013-02-26T12:27:13.230 に答える
0

checkはmysqlの予約語であるため、「check」という名前のテーブルを作成することはできません。

CHECK制約は、列に配置できる値の範囲を制限するために使用されます。

于 2013-02-26T12:29:46.083 に答える
0

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

「CHECK」は予約語の1つです。

于 2013-02-26T12:26:36.187 に答える
0

MySQLには予約語のセットがあります。CHECKはその1つです。

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

于 2013-02-26T12:26:40.633 に答える