「列 ‘xxx’ は ‘where clause’ にはありません。」と表示された時の対処法

下記のSQLを実行した際に、エラーである「列 ‘xxx’ は ‘where clause’ にはありません。」と表示されました。

SELECT WP.ID, WP.post_title, WPM.meta_key, WPM.meta_value
FROM `wp_posts` AS WP INNER JOIN `wp_postmeta` AS WPM
ON WP.ID = WPM.post_id
WHERE WP.post_type = `xxx`

このエラーはデータベースのテーブルの列に ‘xxx’ がないというエラーです。

バッククォートで囲んだ文字列は、テーブルの列を意味します。

下記のWHERE構文でシングルクォートではなく、バッククォートを利用していたため発生したエラーでした。

WHERE WP.post_type = `xxx`

WHERE構文のバッククォートをシングルクォートに書き換えることで、エラーが表示されなくなりました。

SELECT WP.ID, WP.post_title, WPM.meta_key, WPM.meta_value
FROM `wp_posts` AS WP INNER JOIN `wp_postmeta` AS WPM
ON WP.ID = WPM.post_id
WHERE WP.post_type = 'xxx'
プログラミングの独学におすすめ
プログラミング言語の人気オンラインコース
独学でプログラミングを学習している方で、エラーなどが発生して効率よく勉強ができないと悩む方は多いはず。Udemyは、プロの講師が動画で実際のプログラムを動かしながら教えてくれるオンライン講座です。講座の価格は、セール期間中には専門書籍を1冊買うよりも安く済むことが多いです。新しく学びたいプログラミング言語がある方は、ぜひUdemyでオンライン講座を探してみてください。
目次