みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

こんにちは。
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文字以内で収まる文字列を
カラムに挿入させるつもりでした。

何か御意見いただけるとありがたいです。
宜しくお願い致します。

投稿日時 - 2009-04-13 12:30:50

QNo.4875639

困ってます

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

予約されてるんじゃないですか?

明示的に`key`とバックスラッシュで囲んでやってみてください

投稿日時 - 2009-04-13 12:40:17

お礼

yambejpさん!

早期のご回答ありがとうございました!
おっしゃるとおりでした!

予約語というのがあったのですね!
勉強になりました。
ありがとうございました。

mysql> CREATE TABLE 20090413_put2(`key` VARCHAR(100), value VARCHAR(100));
Query OK, 0 rows affected (0.00 sec)

投稿日時 - 2009-04-13 12:49:38

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

参考URL:http://blog.takeda-soft.jp/blog/show/122

投稿日時 - 2009-04-13 12:40:39

お礼

ann_dvさん!

アドバイスいただきありがとうございました!
とても助かりました!

予約語の件を知らなかったので、
いい勉強にさせていただきました!
ありがとうございました!

投稿日時 - 2009-04-13 12:51:22