Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

संदर्भित तालिका में कोई प्राथमिक या उम्मीदवार कुंजी नहीं है जो विदेशी कुंजी में संदर्भ कॉलम सूची से मेल खाती है

विदेशी कुंजियाँ किसी स्तंभ को किसी अन्य तालिका में एक अद्वितीय कुंजी से जोड़कर काम करती हैं, और उस अद्वितीय कुंजी को किसी विशिष्ट अनुक्रमणिका के रूप में परिभाषित किया जाना चाहिए, चाहे वह प्राथमिक कुंजी हो, या कोई अन्य अद्वितीय अनुक्रमणिका हो।

इस समय, आपके पास एकमात्र अद्वितीय अनुक्रमणिका है जो ISBN, Title . पर एक मिश्रित अनुक्रमणिका है जो आपकी प्राथमिक कुंजी है।

आपके लिए कई विकल्प खुले हैं, जो इस बात पर निर्भर करता है कि BookTitle क्या रखता है और उसमें डेटा का क्या संबंध है।

मुझे लगता है कि आईएसबीएन बुकटाइटल में प्रत्येक पंक्ति के लिए अद्वितीय है। मान लें कि यह मामला है, तो अपनी प्राथमिक कुंजी को केवल आईएसबीएन पर होने के लिए बदलें, और बुककॉपी बदलें ताकि शीर्षक के बजाय आपके पास आईएसबीएन हो और उसमें शामिल हों।

यदि आपको अपनी प्राथमिक कुंजी ISBN, Title . के रूप में रखने की आवश्यकता है तो आपको या तो BookCopy के साथ-साथ शीर्षक में ISBN, और दोनों स्तंभों पर विदेशी कुंजी को संग्रहीत करने की आवश्यकता है, या आपको BookTitle(Title) पर एक विशिष्ट अनुक्रमणिका के रूप में एक अद्वितीय अनुक्रमणिका बनाने की आवश्यकता है।

आम तौर पर, आपको यह सुनिश्चित करने की ज़रूरत है कि आपके REFERENCES में आपके पास जो कॉलम या कॉलम हैं खंड मूल तालिका में बिल्कुल एक अद्वितीय अनुक्रमणिका से मेल खाता है:आपके मामले में यह विफल हो जाता है क्योंकि आपके पास Title पर एक भी अद्वितीय अनुक्रमणिका नहीं है अकेले।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में एक विदेशी कुंजी बाधा को कैसे अक्षम करें (T-SQL उदाहरण)

  2. SQL:एक पंक्ति को अपडेट करें और 1 क्वेरी के साथ एक कॉलम मान लौटाएं

  3. बेहतर गतिशील SQL से बचने के लिए 10 SP_EXECUTESQL गोचास

  4. sql . का उपयोग करके दिनांक फ़ील्ड से महीने के अनुसार समूह कैसे करें

  5. SQL सर्वर में चेंज डेटा कैप्चर (सीडीसी) टेबल्स से हिस्ट्री या ऑडिट व्यू कैसे बनाएं - SQL सर्वर ट्यूटोरियल