ホームページ >データベース >mysql チュートリアル >PostgreSQL の「WHERE IN」句によって「列が存在しません」エラーが発生するのはなぜですか?

PostgreSQL の「WHERE IN」句によって「列が存在しません」エラーが発生するのはなぜですか?

DDD
DDDオリジナル
2024-12-22 03:30:11466ブラウズ

Why Does My PostgreSQL `WHERE IN` Clause Cause a

PostgreSQL: WHERE IN (リスト) クエリで「列が存在しません」エラー

WHERE IN ( list) 句を使用すると、次のエラーが発生する可能性があります:

ERROR:  column "c836d018-1d12-4507-a268-a4d80d6d3f54" does not exist
LINE 2: "c836d018-1d12-4507-a268-a4d80d6d3f54"

This次のクエリに示すように、WHERE IN 句内で二重引用符 (") を使用しようとすると、このエラーが発生します。

DELETE FROM user_job_titles WHERE id IN (
"c836d018-1d12-4507-a268-a4d80d6d3f54",
"d0961a90-7d31-4c4c-9c1b-671115e3d833",
"62dda420-6e62-4017-b41d-205c0aa82ead"
)

このエラーの解決策は、文字列定数を一重引用符 (') で囲むことです。 WHERE IN 句。PostgreSQL では二重引用符はテーブル名と列名のエスケープ文字として使用されるため、文字列を囲むために使用できません。リテラル。

したがって、正しいクエリは次のようになります。

DELETE FROM user_job_titles
WHERE id IN ('c836d018-1d12-4507-a268-a4d80d6d3f54',
             'd0961a90-7d31-4c4c-9c1b-671115e3d833',
             '62dda420-6e62-4017-b41d-205c0aa82ead'
            );

以上がPostgreSQL の「WHERE IN」句によって「列が存在しません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。