2011-01-15 11 views
12

मैं Oracle SQL डेवलपर पर में निम्न त्रुटि हो रही है:एसक्यूएल त्रुटि: ORA-02,298: मान्य नहीं कर सकता (SYSTEM.AEROPUERTO_FK) - माता पिता कुंजी नहीं मिला

Error starting at line 1 in command: 
    ALTER TABLE AEROPUERTO ADD CONSTRAINT AEROPUERTO_FK FOREIGN KEY (CODIGO_CIUDAD) REFERENCES CIUDAD(CODIGO) 

Error report: 
    SQL Error: ORA-02298: cannot validate (SYSTEM.AEROPUERTO_FK) - parent keys not found 
    02298. 00000 - "cannot validate (%s.%s) - parent keys not found" 
    *Cause: an alter table validating constraint failed because the table has 
       child records. 
    *Action: Obvious 

क्यों?

उत्तर

29

AEROPUERTO में रिकॉर्ड हैं जो CIUDAD में मौजूद रिकॉर्ड्स को इंगित करते हैं।

पता लगाने के लिए जो AEROPUERTO का रिकॉर्ड मुद्दा उस तरह का है:

select * from AEROPUERTO where CODIGO_CIUDAD not in (select CODIGO from CIUDAD) 

परिणाम सेट खाली नहीं है, तो आप orphanaged है रिकॉर्ड कर । आपको AEROPUERTO_FK विदेशी कुंजी, या अद्यतन सब गलत AEROPUERTO.CODIGO_CIUDAD शून्य पर बनाने के लिए याद आ रही CIUDAD रिकॉर्ड जोड़ने की आवश्यकता होगी (अगर यह एक व्यर्थ क्षेत्र है, लेकिन आप उन हवाई अड्डे रिकॉर्ड के लिए शहर जानकारी खो देंगे)।

2

कॉलम से प्राथमिक कुंजी बाधा को हटाएं जिसमें आप विदेशी कुंजी

जोड़ना चाहते हैं
संबंधित मुद्दे