sql >> Database >  >> RDS >> PostgreSQL

unieke indexschending tijdens update

Unieke indexen worden per rij geëvalueerd en niet per statement (wat bijvoorbeeld anders is dan de implementatie van Oracle)

De oplossing voor dit probleem is het gebruik van een unieke beperking die kan worden uitgesteld en dus wordt geëvalueerd aan het einde van de transactie.

Dus in plaats daarvan van de unieke index, definieer een beperking:

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



  1. hoe B-tree indexering werkt in mysql

  2. Hoe het Intervaltype te formatteren naar het HH:MM-formaat?

  3. Geautomatiseerde databaseback-up en -herstel implementeren met standaardmiddelen

  4. Oracle DBMS-taak wordt niet uitgevoerd