sql >> Database >  >> RDS >> Oracle

novalidate met fout ora-02299

Als ik je goed begrijp, verwacht je dat Oracle oude dubbele waarden negeert en nieuwe waarden alleen toestaat als ze aan de beperking voldoen. De fout wordt geretourneerd omdat wanneer u een UNIQUE . toevoegt beperking, maakt Oracle een unieke index op de kolom om de waarden te controleren, maar uw tabel heeft al dubbele waarden, dus het mislukt. Ik zou eerst de niet-unieke index maken en vervolgens de beperking toevoegen zodat deze uw bestaande niet-unieke index gebruikt in plaats van automatisch de unieke index te maken die zou mislukken:

create index arc_ix on arc (name);

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



  1. Een array gebruiken in een SQL-query

  2. Waar stel ik de tekencodering in een Java Swing-toepassing in zodat ik Hindi naar een MySQL-database kan schrijven?

  3. PHP Controleer MySQL Laatste rij

  4. Hoe 2 seconden wachten?