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

SQLite में समग्र कुंजी स्वत:उत्पन्न करें

सामान्य स्क्लाइट टेबल बी * -ट्री हैं जो 64-बिट पूर्णांक का उपयोग उनकी कुंजी के रूप में करते हैं। इसे रौड कहा जाता है। एक पंक्ति सम्मिलित करते समय, यदि इसके लिए कोई मान स्पष्ट रूप से नहीं दिया गया है, तो एक उत्पन्न होता है। एक INTEGER PRIMARY KEY कॉलम इस पंक्ति के लिए उपनाम के रूप में कार्य करता है। AUTOINCREMENT कीवर्ड, जिसका उपयोग केवल उक्त INTEGER PRIMARY KEY . पर किया जा सकता है कॉलम, नाम के विपरीत, केवल यह बताता है कि कैसे कहा जाता है कि पंक्ति की गणना कैसे की जाती है - यदि आप कोई मान छोड़ देते हैं, तो एक बनाया जाएगा कि वह कीवर्ड मौजूद है या नहीं, क्योंकि यह वास्तव में पंक्तिबद्ध है और इसमें एक संख्या होनी चाहिए। विवरण यहाँ। (पंक्तिबद्ध मान आम तौर पर बढ़ते हुए उत्पन्न होते हैं, लेकिन जरूरी नहीं कि अनुक्रमिक, क्रम, और इसे एक पंक्ति संख्या या ऐसा कुछ भी नहीं माना जाना चाहिए, बीटीडब्ल्यू)।

एक INTEGER . के अलावा कोई भी प्राथमिक कुंजी कॉलम को एक अद्वितीय अनुक्रमणिका के रूप में माना जाता है, जबकि पंक्तिबद्ध वास्तविक प्राथमिक कुंजी बनी रहती है (जब तक कि यह बिना ROWID तालिका के न हो), और स्वत:उत्पन्न नहीं होती है। तो, नहीं, आप (आसानी से) वह नहीं कर सकते जो आप चाहते हैं।

मैं शायद एक डेटाबेस डिज़ाइन तैयार करूँगा जहाँ आपके पास दुकानों की एक तालिका, उत्पादों की एक तालिका, प्रत्येक की अपनी आईडी और एक जंक्शन तालिका है जो दोनों के बीच कई-से-अनेक संबंध स्थापित करती है। यह उत्पाद आईडी को स्टोर के बीच समान रखता है, जो शायद लोगों को कम भ्रमित करने वाला है - उदाहरण के लिए, मैं एक ही आइटम के एक ही श्रृंखला के दो अलग-अलग स्टोर में एक अलग SKU की उम्मीद नहीं करूंगा।

कुछ इस तरह:

CREATE TABLE stores(store_id INTEGER PRIMARY KEY
                  , address TEXT
                    -- etc
                   );
CREATE TABLE product(prod_id INTEGER PRIMARY KEY
                   , name TEXT
                     -- etc
                   );
CREATE TABLE inventory(store_id INTEGER REFERENCES stores(store_id)
                     , prod_id INTEGER REFERENCES product(prod_id)
                     , PRIMARY KEY(store_id, prod_id)) WITHOUT ROWID;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे Group_Concat () SQLite में काम करता है

  2. SQLite मैक्स () कैसे काम करता है

  3. SQLite - डेटा अपडेट करें

  4. SQLite MAX

  5. केवल ऐप अपग्रेड पर पंक्तियों को अपग्रेड करें