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

mySQL ऑटो-इन्क्रीमेंटेड आईडी आरक्षित करना?

ऑटो-इन्क्रीमेंट वैल्यू जेनरेट करने का एकमात्र तरीका इन्सर्ट का प्रयास करना है। लेकिन आप उस लेन-देन को वापस ले सकते हैं, और फिर भी उत्पन्न आईडी को पढ़ सकते हैं। MySQL 5.1 और बाद के संस्करण में, डिफ़ॉल्ट व्यवहार यह है कि जब आप वापस रोल करते हैं तो ऑटो-इन्क्रीमेंट मान स्टैक पर "वापस" नहीं होते हैं।

START TRANSACTION;
INSERT INTO mytable () VALUES ();
ROLLBACK;
SELECT LAST_INSERT_ID() INTO @my_ai_value;

अब आप सुनिश्चित हो सकते हैं कि कोई अन्य लेन-देन उस मान का उपयोग करने का प्रयास नहीं करेगा, इसलिए आप इसे अपनी बाहरी प्रक्रियाओं में उपयोग कर सकते हैं, और फिर अंत में मैन्युअल रूप से एक मान डालें जो उस आईडी मान का उपयोग करता है (जब आप एक विशिष्ट आईडी मान डालते हैं, तो 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. MySQL में डिफ़ॉल्ट बाधा कैसे जोड़ें

  2. सिद्धांत बूलियन मूल्यों और PDO::ATTR_EMULATE_PREPARES =Mysql में गलत के साथ इकाई को कायम नहीं रखता है

  3. संबंधित पंक्तियों की गैर-मौजूदगी की जांच के लिए बाएं बाहरी जॉइन का उपयोग करने का सबसे अच्छा तरीका क्या है

  4. दो वाक्पटु संग्रहों को मिलाएं और क्रमबद्ध करें?

  5. जब आपको mysql पर 20 अंकों से बड़े पूर्णांकों की आवश्यकता हो तो क्या करें?