ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。