sql >> データベース >  >> RDS >> PostgreSQL

Postgres upsert:新しい行と更新された行を区別する

    テーブルに列を追加しない方法があります:

    CREATE TABLE tbl(id int PRIMARY KEY, col int);
    INSERT INTO tbl VALUES (1, 1);
    
    INSERT INTO tbl(id, col)
    VALUES (1,11), (2,22)
    ON     CONFLICT (id) DO UPDATE
    SET    col = EXCLUDED.col
    RETURNING *, (xmax = 0) AS inserted;

    説明:



    1. オプションを使用してコマンドラインから.sqlファイルをエクスポートおよびインポートする方法は?

    2. ここで、A =1 AND A =2は0行の問題を返します-(短いMysqlの質問)

    3. SQL:異なるテーブルからの2つのカウントを比較する

    4. UTF-8をエンコードする文字0xc286は、WIN1252に同等のものがありません....iconvpostgresでの変換時に復元がクラッシュします