sql >> Databasteknik >  >> RDS >> Oracle

ORA-02298 Föräldernycklar hittades inte?

ALTER TABLE WORKPACKAGES
ADD FOREIGN KEY (EMPLOYEEID) REFERENCES EMPLOYEES (EMPLOYEEID);

När den här nyckeln tillämpas kontrollerar Oracle att alla anställdas ID som finns i tabellen Workpackages finns i tabellen Employees.

Dina alternativ:

Hitta de kränkande nycklarna genom att köra

SELECT employeeid
FROM   workpackages
WHERE  employeeid NOT IN (SELECT employeeid
                          FROM   employees); 

och infoga dem sedan i medarbetartabellen.

Ett annat alternativ är att använda NOVALIDATE så att befintliga data inte kontrolleras, men alla nya infogar/uppdateringar kommer att valideras. Se denna fiol för demo om detta.



  1. MySQL datumjämförelsefilter

  2. Importera MS ACCESS DB till mySql?

  3. hur man visar hide html-tabellrad baserat på php-villkor

  4. Att välja rader baserat på några regler