sql >> Database teknologi >  >> RDS >> Oracle

novalidate med fejl ora-02299

Hvis jeg forstår dig rigtigt, forventer du, at Oracle ignorerer gamle duplikerede værdier og kun tillader nye værdier, når de opfylder begrænsningen. Fejlen returneres, fordi når du tilføjer en UNIQUE begrænsning opretter Oracle et unikt indeks på kolonnen for at kontrollere værdierne, men din tabel har allerede duplikerede værdier, så den mislykkes. Jeg ville først oprette det ikke-unikke indeks og derefter tilføje begrænsningen, så det bruger dit eksisterende ikke-unikke indeks i stedet for automatisk at oprette det unikke indeks, som ville mislykkes:

create index arc_ix on arc (name);

alter table arc add constraint arc_uq unique (name) enable novalidate;



  1. PHP PDO med foreach and fetch

  2. Hent LONGBLOB fra MySQL i C#

  3. er påstande om, at Oracle er svære at administrere på simple opgaver korrekte? er der ikke kvalitets admin apps til det?

  4. Hvordan virker underforespørgsel i select statement i oracle