phpMyAdmin
 sql >> डेटाबेस >  >> Database Tools >> phpMyAdmin

कई से कई संबंध ब्रिज टेबल दुविधा

टूल आपको केवल यह बता रहा है कि uId-groupId संयोजन के लिए कई प्रविष्टियां हो सकती हैं। उदाहरण:

uId  groupId  performacesScore 
1    1        10
1    2        20
2    1        30
2    1        30
2    1        40
2    2        20

अब कल्पना करें कि यह डेटा आपको दिखाया गया है और आप पहले 2/1/30 को 2/1/50 बनाते हैं। उपकरण dbms को कौन-सा अद्यतन विवरण भेज सकता है?

update salesGroupLinked set performacesScore = 50
where uId = 2 and groupId = 1;

यह एक के बजाय तीन रिकॉर्ड अपडेट करेगा।

update salesGroupLinked set performacesScore = 50
where uId = 2 and groupId = 1 and performacesScore = 30;

यह अब भी एक के बजाय दो रिकॉर्ड अपडेट करेगा।

तो ठीक से अपडेट करने और हटाने के लिए, आपको डीबीएमएस को बताना होगा कि रिकॉर्ड को अद्वितीय क्या बनाता है। चार संभावनाएं हैं:

  • यदि आप कभी भी एकल रिकॉर्ड को अपडेट या हटाना नहीं चाहते हैं, तो इसे वैसे ही छोड़ दें।
  • यदि आप अपडेट करने में सक्षम होना चाहते हैं और uId-groupId संयोजन के लिए केवल एक प्रविष्टि हो सकती है, तो dbms को ऐसा बताएं और uId plus groupId को अपनी तालिका की प्राथमिक कुंजी बनाएं।
  • यदि आप अपडेट करने में सक्षम होना चाहते हैं और uId-groupId संयोजन के लिए डुप्लीकेट हो सकते हैं, लेकिन uId-groupId-performacesScore संयोजन हमेशा अद्वितीय होगा, तो इन तीनों को तालिका की प्राथमिक कुंजी बनाएं।
  • यदि आप अपडेट करने में सक्षम होना चाहते हैं और किसी भी संयोजन के लिए डुप्लिकेट हो सकते हैं, तो तालिका को तकनीकी आईडी के लिए एक और कॉलम दें और इसे प्राथमिक कुंजी बनाएं।



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. क्वेरी आँकड़ा 99% क्वेरी समय ले रहा है

  2. खोज समारोह php . में काम नहीं कर रहा

  3. phpmyadmin #2054 mysql सर्वर में लॉग इन नहीं कर सकता

  4. cPanel/होस्ट/phpMyAdmin तक पहुंच

  5. MySQL त्रुटि #1133 - उपयोगकर्ता तालिका में कोई मेल खाने वाली पंक्ति नहीं ढूँढ सकता