ホームページ > データベース > mysql チュートリアル > 単一の PostgreSQL クエリで複数の行を更新するにはどうすればよいですか?

単一の PostgreSQL クエリで複数の行を更新するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-12 22:42:43
オリジナル
509 人が閲覧しました

How Can I Update Multiple Rows in a Single PostgreSQL Query?

PostgreSQL の単一クエリは複数の行を更新します

この記事では、PostgreSQL データベースで単一のクエリを使用して複数行のデータを更新する方法について説明します。 PostgreSQL は複数行の直接更新をサポートしていませんが、この目標を達成するにはいくつかの方法があります。

1 つのアプローチは、UPDATE ... FROM 構文とマッピング テーブルを組み合わせて使用​​することです。これにより、複数の列を更新できるようになり、柔軟性が向上します。次のコードは、このアプローチを示しています。

<code class="language-sql">UPDATE test AS t
SET column_a = c.column_a
FROM (VALUES
    ('123', 1),
    ('345', 2)
) AS c(column_b, column_a)
WHERE c.column_b = t.column_b;</code>
ログイン後にコピー
必要に応じてさらに列を追加できます:

<code class="language-sql">UPDATE test AS t
SET column_a = c.column_a,
    column_c = c.column_c
FROM (VALUES
    ('123', 1, '---'),
    ('345', 2, '+++')
) AS c(column_b, column_a, column_c)
WHERE c.column_b = t.column_b;</code>
ログイン後にコピー
もう 1 つのよりクリーンなアプローチは、PostgreSQL の

構文を使用することです。これは、挿入機能と更新機能を 1 つのクエリに組み合わせたものです。ただし、この方法では、更新する行を識別する一意のインデックスを列に作成する必要があります。 INSERT ... ON CONFLICT ... UPDATE

以上が単一の PostgreSQL クエリで複数の行を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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