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

जब मैं एक MySQL तालिका में एकाधिक पंक्तियों को सम्मिलित करता हूं, तो क्या आईडी हर बार 1 से बढ़ जाएगी?

उत्तर है:ठीक है, यह निर्भर करता है।

मायिसम के मामले में, उत्तर एक निश्चित हां है, क्योंकि मायिसम अनुक्रम अनुरोध सम्मिलित करते हैं।

हालांकि, निर्दोष के मामले में, व्यवहार कॉन्फ़िगर करने योग्य है क्योंकि mysql v5.1. v5.1 से पहले, फिर InnoDB का उत्तर भी हाँ है, उसके बाद यह innodb_autoinc_lock_mode पर निर्भर करता है सेटिंग। विवरण के लिए InnoDB auto_increment कॉन्फ़िगरेशन पर mysql दस्तावेज़ देखें

आपको हाइलाइट देने के लिए, 3 हैं innodb_autoinc_lock_mode सेटिंग्स:

  1. पारंपरिक (0)
  2. परिणामस्वरूप (1) - डिफ़ॉल्ट
  3. इंटरलीव्ड (2)

यदि लेन-देन वापस ले लिया गया है, तो auto_increment मान में और अंतराल का अनुभव हो सकता है। एक बल्क इंसर्ट को केवल समग्र रूप से ही वापस रोल किया जा सकता है।

अद्यतन करें: जैसा कि ऊपर बताया गया है, आपको परिदृश्य 1) ​​या 2) मिलेगा , यदि आप उपयोग करते हैं

  • मायिसम टेबल इंजन
  • या innodb प्री mysql v5.1
  • या innodb mysql v5.1 या नए और innodb_autoinc_lock_mode के साथ 0 या 1 है

यह बताने का कोई तरीका नहीं है कि कौन पहले डाला जाता है।

आपको परिदृश्य 3) या 4) . मिल सकता है यदि आप उपयोग करते हैं

  • innodb के साथ innodb_autoinc_lock_mode 2

फिर से, यह बताने का कोई तरीका नहीं है कि mysql रिकॉर्ड के क्रम को कैसे और क्यों मिलाता है।

इसलिए, यदि आपका प्रश्न इस तथ्य से संबंधित है कि आप बल्क इंसर्ट के साथ 3 रिकॉर्ड सम्मिलित करते हैं और last_insert_id() केवल पहले डाले गए रिकॉर्ड का auto_increment मान देता है, और आप साधारण जोड़ द्वारा अन्य 2 रिकॉर्ड की आईडी प्राप्त करना चाहते हैं कि आप टेबल इंजन और उपयोग किए गए mysql संस्करण के आधार पर mysql के कॉन्फ़िगरेशन की जांच करने की आवश्यकता हो सकती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP का उपयोग करके चेकबॉक्स का चयन करके एकाधिक पंक्तियों को हटाएं

  2. तुरंत एक कॉलम की एक कॉपी को MySQL टेबल में जोड़ें

  3. GROUP BY का उपयोग करके प्रत्येक समूह में नवीनतम रिकॉर्ड कैसे प्राप्त करें?

  4. MySQL में एक स्ट्रिंग के हिस्से को कैसे बदलें

  5. त्रुटि:विजुअल स्टूडियो प्रोजेक्ट में MySQL-डेटा स्रोत जोड़ते समय तालिका 'mysql.proc' मौजूद नहीं है