sql >> Databáze >  >> RDS >> PostgreSQL

Jak lze použít syntaxi INSERT...ON CONFLICT (id) DO UPDATE... s ID sekvence?

Ok, právě to vyšlo. Četl jsem tento skvělý článek od Neila Conwaye:http://www.neilconway.org/docs/sequences /

Kde ukazuje použití DEFAULT klíčové slovo, které DB sdělí, aby použila sekvenční hodnotu pro sloupec.

Zde je tedy aktualizovaný příklad, který nyní funguje:

INSERT INTO tbltest (
    tbltest_ID,
    tbltest_Name,
    tbltest_Description) 
VALUES 
(DEFAULT, 'new record','new record description'),
(4, 'existing record name','existing record description')
ON CONFLICT (tbltest_ID) DO UPDATE SET (
    tbltest_Name,
    tbltest_Description) = (
    excluded.tbltest_Name,
    excluded.tbltest_Description) RETURNING *;

Doufám, že to někomu pomůže;-)




  1. Importujte a vložte soubor sql.gz do databáze pomocí putty

  2. Zkontrolujte, zda je tabulka sqlalchemy prázdná

  3. převést výsledek mysql na json se správnými typy

  4. Jak obnovíte konfigurační soubor MySQL bez restartování?