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

SQL सर्वर:संबंध बनाने में असमर्थ

व्यक्ति तालिका में प्राथमिक कुंजी संभवतः एक पहचान है। यह एक स्वतः-वृद्धिशील पूर्णांक फ़ील्ड है।

आपको विदेशी कुंजी को प्रकार int की पता तालिका में बनाने की आवश्यकता है, पहचान नहीं। इसमें पूर्णांक होंगे जो व्यक्ति रिकॉर्ड से मेल खाते हैं, लेकिन आप नहीं चाहते कि विदेशी कुंजी स्वत:वृद्धि के लिए हो। चाइल्ड टेबल (पता) में प्रत्येक रिकॉर्ड के लिए आप विदेशी कुंजी के लिए एक विशिष्ट मान निर्धारित करेंगे जो यह दर्शाता है कि यह किस मूल रिकॉर्ड (व्यक्ति) से संबंधित है।

उदाहरण:

INSERT person (firstname, lastname) VALUES ('John', 'Smith')

यह नया व्यक्ति रिकॉर्ड और फ़ील्ड personid . सम्मिलित करेगा स्वचालित रूप से भर जाएगा क्योंकि यह एक पहचान क्षेत्र है।

अब जॉन स्मिथ का पता डालने के लिए आपको उनका personid जानना होगा . उदाहरण के लिए:

-- Say, for example, personid of John Smith is 55
INSERT address (personid, street, city) VALUES (55, 'High Street', 'London')

तो person . में तालिका में व्यक्ति स्वचालित रूप से उत्पन्न होता है लेकिन address . में तालिका में आप वह मान निर्दिष्ट करते हैं जो किसी मौजूदा व्यक्ति से मेल खाता है। यह एक विदेशी कुंजी का पूरा बिंदु है।

आपकी स्कीमा के बारे में अधिक जानकारी के बिना समस्या का अनुमान लगाना कठिन है।



  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 LIKE क्लॉज में SqlParameter का उपयोग काम नहीं कर रहा है

  2. चर के साथ एसक्यूएल उपयोग कथन

  3. क्या SQL सर्वर में कोई मैक्स फ़ंक्शन है जो .NET में Math.Max ​​जैसे दो मान लेता है?

  4. सन्निहित अनुक्रमिक संख्याओं के समूहों की सीमाओं का पता कैसे लगाएं?

  5. SQL दिनांक सीमाओं के विरुद्ध सम्मिलित होता है?