sql >> Database teknologi >  >> RDS >> PostgreSQL

unik indeksovertrædelse under opdatering

Unikke indekser evalueres pr. række ikke pr. erklæring (hvilket f.eks. er forskelligt fra Oracles implementering)

Løsningen på dette problem er at bruge en unik begrænsning som kan udskydes og dermed vurderes ved slutningen af ​​transaktionen.

i stedet af det unikke indeks, definer en begrænsning:

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



  1. Ulovlig blanding af kollationer (utf8_general_ci,IMPLICIT) og (utf8_unicode_ci,IMPLICIT) for operation '=' i MySQL Stored Procedure

  2. Laravel - Oprettelse af tabeller dynamisk (uden migrering)

  3. Oracle giver tilladelse til at udføre

  4. Mysql - hvor klausul er langsommere end fuld scanning