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

Dynamický upsert v postgresql

Jako alternativní přístup můžete udělat upsert bez funkce pomocí insert + update s klauzulemi where, aby byly úspěšné pouze ve správném případě. Např.

update mytable set col1='value1' where (col2 = 'myId');
insert into mytable select 'value1', 'myId' where not exists (select 1 from mytable where col2='myId');

Což by se vyhnulo spoustě vlastních postgres specifických funkcí.



  1. Vypište data tabulek Oracle do příkazů INSERT

  2. Zřetězení pole souvisejícího s více řádky záznamu v sadě dotazu v Django

  3. MySQL limit s proměnnou

  4. SQL příkaz INSERT funguje, ale data se nezobrazují v tabulce