ホームページ > データベース > mysql チュートリアル > PostgreSQL でキーワードのような列名をエスケープするにはどうすればよいですか?

PostgreSQL でキーワードのような列名をエスケープするにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-14 06:30:43
オリジナル
497 人が閲覧しました

How Do I Escape Keyword-Like Column Names in PostgreSQL?

PostgreSQL でテーブルを処理するときに、SQL 言語のキーワードに似た列名が表示されることがあります。 PostgreSQL は列名を識別子ではなくキーワードとして解釈しようとする可能性があるため、クエリの作成時にエラーが発生する可能性があります。

この問題を解決するには、二重引用符を使用して列名を囲み、それによって列名をエスケープし、PostgreSQL がキーワードと間違えるのを防ぎます。

たとえば、次の表を考えてみましょう:

<code class="language-sql">CREATE TABLE my_table (id SERIAL PRIMARY KEY, name TEXT, year INTEGER);</code>
ログイン後にコピー

ここで、このテーブルに新しい行を挿入し、「年」列を特定の値に設定するとします。クエリを次のように記述するとします:

<code class="language-sql">INSERT INTO my_table (id, name, year) VALUES (1, 'John Doe', 1990);</code>
ログイン後にコピー

PostgreSQL がキーワードを予約語として解釈しようとするため、「year」キーワードの近くでエラーが発生します。

これを修正するには、「年」を二重引用符で囲むだけです:

<code class="language-sql">INSERT INTO my_table (id, name, "year") VALUES (1, 'John Doe', 1990);</code>
ログイン後にコピー

列名を引用符で囲むことにより、PostgreSQL にそれをキーワードではなく識別子として扱うように指示し、その値を正常に設定できるようにします。

PostgreSQL のドキュメントによると、「区切り識別子」または「引用符で囲まれた識別子」とは、二重引用符で囲まれた識別子です。これらは常に識別子として認識され、キーワードと間違われることはありません。これにより、エラーが発生することなくキーワードを列名またはテーブル名として使用できるようになります。

以上がPostgreSQL でキーワードのような列名をエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート