ホームページ >データベース >mysql チュートリアル >PostgreSQL DELETE クエリで「列が存在しません」エラーが表示されるのはなぜですか?

PostgreSQL DELETE クエリで「列が存在しません」エラーが表示されるのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-10 11:15:40712ブラウズ

Why Does My PostgreSQL DELETE Query Show a

PostgreSQL DELETE クエリの「列が存在しません」エラーの解決策

PostgreSQL で DELETE クエリを実行すると、「列が存在しません」エラーが発生する場合があります。このエラーは通常、クエリ内で二重引用符と一重引用符が使用されていることが原因で発生します。

DELETE クエリの構文には、テーブル名の指定と、その後に条件に基づいてレコードをフィルターするための WHERE 句の指定が含まれます。あなたが提供したクエリについて:

<code class="language-sql">delete from "Tasks" where id = "fc1f56b5-ff41-43ed-b27c-39eac9354323";</code>

このエラーは、PostgreSQL が引用符内の値を文字列値ではなく識別子 (テーブル名、列名など) として解釈するために発生します。これは、テーブル名「Tasks」と ID 値「fc1f56b5-ff41-43ed-b27c-39eac9354323」が二重引用符 (") で囲まれているためです。

この問題を解決するには、文字定数を表す ID 値を一重引用符 (') で囲む必要があります。これにより、値を文字通りに解釈する必要があることが PostgreSQL に伝えられます。

修正されたクエリ:

<code class="language-sql">delete from "Tasks" where id = 'fc1f56b5-ff41-43ed-b27c-39eac9354323';</code>
id 値に一重引用符を正しく使用すると、PostgreSQL がそれを文字列定数として解釈するため、「列が存在しません」エラーが回避され、削除クエリが正常に実行されます。

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

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