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

क्या MySQL पिवट टेबल में ऑटो-इंक्रिमेंटिंग प्राथमिक कुंजी रखने का कोई लाभ है?

पोस्ट और श्रेणियां शायद कई-से-अनेक हैं, न कि एक-से-अनेक।

कई-से-अनेक संबंध तालिका कुछ इस तरह सबसे अच्छी तरह से की जाती है

CREATE TABLE a_b (
a_id ... NOT NULL,
b_id ... NOT NULL,
PRIMARY KEY (a_id, b_id),
INDEX(b_id, a_id) -- include this if you need to go both directions
) ENGINE = InnoDB;

इसके साथ, आप स्वचालित रूप से दोनों दिशाओं में "क्लस्टर" लुकअप प्राप्त करते हैं, और आप तालिका के लिए अनावश्यक कृत्रिम आईडी से बचते हैं।

(वैसे, N.B., एक निहित PK 6 बाइट्स है, 8 नहीं। इस विषय पर जेरेमी कोल द्वारा एक लंबी पोस्ट है।)

एक-से-अनेक संबंध को इस अतिरिक्त तालिका की आवश्यकता नहीं है। इसके बजाय, एक आईडी को दूसरी टेबल के अंदर रखें। उदाहरण के लिए, शहर की तालिका में देश की आईडी होगी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं osCommerce डेटाबेस को v2.2 से v2.3 में कैसे अपग्रेड करूं?

  2. MySQL बल्क INSERT या UPDATE

  3. MySQL में एक स्ट्रिंग से अवांछित प्रमुख वर्ण कैसे निकालें?

  4. क्या MySQL डेटाबेस डिज़ाइन में लाखों टेबल और लाखों पंक्तियाँ एक सामान्य प्रथा है?

  5. एसक्यूएल इन क्लॉज - उन तत्वों में वापस आएं जो मेल नहीं खाते