- ベストアンサー
初歩的ですが、どうしてかテーブルが作成できないで困っています。
こんにちは。 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文字以内で収まる文字列を カラムに挿入させるつもりでした。 何か御意見いただけるとありがたいです。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
予約されてるんじゃないですか? 明示的に`key`とバックスラッシュで囲んでやってみてください
その他の回答 (1)
- ann_dv
- ベストアンサー率43% (528/1223)
"key"と言う予約語に引っかかっているために文法エラーと認識されていると思われます。
お礼
ann_dvさん! アドバイスいただきありがとうございました! とても助かりました! 予約語の件を知らなかったので、 いい勉強にさせていただきました! ありがとうございました!
お礼
yambejpさん! 早期のご回答ありがとうございました! おっしゃるとおりでした! 予約語というのがあったのですね! 勉強になりました。 ありがとうございました。 mysql> CREATE TABLE 20090413_put2(`key` VARCHAR(100), value VARCHAR(100)); Query OK, 0 rows affected (0.00 sec)