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

Postgres UPSERTは、UPDATE時にINSERTからの列値を再利用します

    はい、特別なテーブルEXCLUDEDがあります 目的のために:

    INSERT INTO tbl (id, data)
    VALUES (1, '<data_string>') 
    ON CONFLICT (id) DO UPDATE SET data = EXCLUDED.data;

    マニュアルの説明 のように :

    複数行のINSERTでも機能します:

    INSERT INTO tbl (id, data)
    VALUES (1, '<data_string1>') 
         , (2, '<data_string2>') 
         , (3, '<data_string3>') 
    ON CONFLICT (id) DO UPDATE
    SET data = EXCLUDED.data;
    



    1. MySQLパステーブル名をカーソル選択

    2. これら2つのデータベース設定のどちらを選択する必要がありますか?

    3. テーブル内の階層データのすべての子ノードをカウントします

    4. 自動インクリメンタルデータベースを使用したLaravelupdateOrCreate