मैं एक मेज के लिए एक विदेशी कुंजी जोड़ने की कोशिश कर रहा हूँ, और यह मुझे निम्न त्रुटि दे:जोड़ा जा रहा है विदेशी कुंजी, एसक्यूएल सर्वर 2008
There are no primary or candidate keys in the referenced table 'tbl_Person' that match the referencing column list in the foreign key 'P_ID'.
मैं एक tbl_Person है, जो के रूप में परिभाषित किया गया है है:
P_ID INT (Primary Key)
f_Name,
l_Name
अन्य तालिका एक टिप्पणी तालिका जो के रूप में परिभाषित किया जाता है:
C_ID INT,
Comments,
P_ID (should be the foreign key)
कई संबंध तालिका में एक एक बनाने के लिए कोशिश कर रहा है, इसलिए जब उपयोगकर्ता एक टिप्पणी जोड़ता है, इसे वापस संदर्भित किया जाता है, साथ ही, वह एक नई टिप्पणी शुरू किए बिना टिप्पणियों में जोड़ सकता है। उम्मीद है कि थोड़ा सा समझ में आता है।
पूर्व: रैंडी बिंग "मैं एसक्यूएल प्यार करता हूं" दर्ज करें, उसकी आईडी 1 है, f_Name रैंडी है, l_Name बिंग है, उसकी टिप्पणियां "मुझे एसक्यूएल पसंद है"। उनकी टिप्पणियों को एक अद्वितीय आईडी स्टोर करना चाहिए, साथ ही साथ अपने P_ID आयात करना चाहिए।
बाद में जब रैंडी उसी सी_आईडी के साथ टिप्पणी में जोड़ना चाहता है जहां P_ID एक नया C_ID बनाये बिना उससे मेल खाता है।
ALTER TABLE tbl_Comments
ADD CONSTRAINT P_ID
FOREIGN KEY (P_ID)
REFERENCES tbl_Person(P_ID)
Am मैं सही रास्ते पर होने के करीब:
यहाँ कोड है?
आप किस एसक्यूएल का उपयोग कर रहे हैं कृपया? – gbn
टी-एसक्यूएल (एसक्यूएल सर्वर 2008) – jpavlov
घुंघराले ब्रैकेट प्रारूप कोड, y'now – gbn