シングルクオテーションの落とし穴
phpMyAdmin上からMySQL*1にアクセスしていて思わぬ落とし穴に陥ったのでメモ。
INSERT文を実行しようとすると、
#1054 - Unknown column 'hogehoge' in 'field list'
なるエラーが発生。
打ち込んだSQL文はこんな感じ
INSERT INTO `question` (`id`,`field_1`,`field_2`)
VALUES (null,`hogehoge`,`hogehoge2`)
原因は代入するデータを「`」で括っていたのが問題で、「'」で括るべきだったというだけ。なんか腹立たしいが、phpMyAdminではテーブル名やフィールド名はSQL文内ではデフォルトで「`」で括られてしまうのだから、それに倣ってデータも括ったらエラーであると・・・。
以下の通りにして問題解決。
INSERT INTO `question` (`id`,`field_1`,`field_2`)
VALUES (null,'hogehoge','hogehoge2')