Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

mysqlでorderというカラム名をつけると "invalid data source name" エラーになる。

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

記事にするのも阿呆らしい話なんだけど……

自分用にタスク管理の簡単なアプリを作っていて、項目の順番を決めるためにうっかり「order」というカラム名をつけていた。

PDO使って接続する時に何回やっても「invalid data source name」でエラーになる。

SELECT * FROM table_nameだと問題が出ない。

SELECT id, order, subject FROM table_nameだとエラーになる。

SELECT id, subject FROM table_nameだとエラーにならない。

あれ? と思ったら、orderは予約語でした……そっか……ORDER BY があるからな……。

予約語を使いたい場合は、バッククォートで囲むそうだ。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 9.3 予約語