ホームページ >データベース >mysql チュートリアル >PostgreSQL の LEFT JOIN が「列が存在しません」エラーで失敗するのはなぜですか?
PostgreSQL LEFT JOIN エラーのトラブルシューティング: 大文字と小文字の区別と列名
LEFT JOIN
を使用して SQL クエリを実行すると、「列 ... が存在しません」というイライラするエラーが発生することがあります。これは多くの場合、列名の参照方法の不一致が原因で発生します。
この例では、PostgreSQL における大文字と小文字の区別という一般的な落とし穴を強調しています。 main_sim
テーブルには、FK_Numbers_id
という名前の外部キー列が含まれています。 テーブル定義 (d main_sim
) はその存在を確認しますが、列名の大文字と小文字が一致していないため、クエリは失敗します。 クエリでは FK_Numbers_id
(大文字) が使用されますが、データベースでは fk_numbers_id
(小文字) として保存されます。
必要があることを意味します。
解決策:
修正されたクエリでは、列名の大文字と小文字を明示的に指定するために二重引用符が使用されています。
<code class="language-sql">SELECT sim.id AS idsim, num.id AS idnum FROM main_sim sim LEFT JOIN main_number num ON ("FK_Numbers_id" = num.id);</code>この変更により、正しい列が参照されるようになり、「列が存在しません」エラーが解決され、
が正常に実行できるようになります。 PostgreSQL を使用するとき、特に二重引用符で囲まれた識別子を扱うときは、大文字と小文字を一貫して正確に扱うことが不可欠であることに注意してください。LEFT JOIN
以上がPostgreSQL の LEFT JOIN が「列が存在しません」エラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。