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

jedinečné porušení indexu během aktualizace

Jedinečné indexy se vyhodnocují na řádek, nikoli na příkaz (což se například liší od implementace Oracle)

Řešením tohoto problému je použití jedinečného omezení které lze odložit, a tak se vyhodnotí na konci transakce.

Takže místo jedinečného indexu definujte omezení:

alter table test add constraint test_idx_pos unique (pos)
  deferrable initially deferred;



  1. Spustí se spouštěč BEFORE INSERT pro každý řádek vložení při dotazu na aktualizaci duplicitního klíče

  2. Jak se připojit k výchozí instanci serveru SQL Server a pojmenovaným instancím serveru SQL - SQL Server / Výukový program TSQL část 2

  3. Entity-Framework -> MySql dává 'Vyhodnocení funkce vypršel.'

  4. Omezte výsledek dotazu SQL v MySQL