• ベストアンサー

初歩的ですが、どうしてかテーブルが作成できないで困っています。

こんにちは。 MySQLを使い始めたのですが、 テーブルを作成するという初歩的な部分で、 どうしても自分では分からなくなってしまい 質問させていただきます。 create databaseを行った後、 普通にテーブルを作成しようとしただけではあります。 作成しようとしたテーブルは、 keyというカラムとvalueというカラムの 計2つからなるテーブルです。 しかし、 カラム名の1つを「key」ではなく「time_to_get_the_key」で行うと、 正常にテーブルが作成されるのに、 mysql> CREATE TABLE 20090413_put1(time_to_get_the_key VARCHAR(100), value VARCHAR(100)); Query OK, 0 rows affected (0.01 sec) 同じカラム名を「key」でテーブル作成しようとすると、作成ができないでいます。 mysql> CREATE TABLE 20090413_put1(key VARCHAR(100), value VARCHAR(100)); ERROR 1064 (42000): 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 'VARCHAR(100), value VARCHAR(100))' at line 1 本来は、 「key」と「value」というカラムで、 それぞれ100文字以内で収まる文字列を カラムに挿入させるつもりでした。 何か御意見いただけるとありがたいです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

予約されてるんじゃないですか? 明示的に`key`とバックスラッシュで囲んでやってみてください

ok_mami
質問者

お礼

yambejpさん! 早期のご回答ありがとうございました! おっしゃるとおりでした! 予約語というのがあったのですね! 勉強になりました。 ありがとうございました。 mysql> CREATE TABLE 20090413_put2(`key` VARCHAR(100), value VARCHAR(100)); Query OK, 0 rows affected (0.00 sec)

その他の回答 (1)

  • ann_dv
  • ベストアンサー率43% (528/1223)
回答No.2

"key"と言う予約語に引っかかっているために文法エラーと認識されていると思われます。

参考URL:
http://blog.takeda-soft.jp/blog/show/122
ok_mami
質問者

お礼

ann_dvさん! アドバイスいただきありがとうございました! とても助かりました! 予約語の件を知らなかったので、 いい勉強にさせていただきました! ありがとうございました!

関連するQ&A