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

AUTO_INCREMENT और LAST_INSERT_ID

SELECT max(employeeid) FROM Employee;

उपरोक्त क्वेरी employeeid . का मान लौटाती है कर्मचारी तालिका में अंतिम सम्मिलित रिकॉर्ड का क्योंकि employeeid एक ऑटो इंक्रीमेंट कॉलम है। ऐसा लगता है कि यह ठीक है, लेकिन मान लीजिए दो धागे एक साथ इन्सर्ट ऑपरेशन निष्पादित कर रहे हैं, एक मौका है कि आपको अंतिम सम्मिलित रिकॉर्ड की गलत आईडी मिल जाए!

चिंता न करें, MySQL एक फ़ंक्शन प्रदान करता है जो अंतिम सम्मिलित रिकॉर्ड के ऑटो इंक्रीमेंट कॉलम का मान लौटाता है।

SELECT LAST_INSERT_ID();

LAST_INSERT_ID() हमेशा कनेक्शन विशिष्ट होता है , इसका मतलब है कि भले ही विभिन्न कनेक्शनों से एक साथ सम्मिलित ऑपरेशन किया जाता है, यह हमेशा वर्तमान कनेक्शन विशिष्ट ऑपरेशन का मान लौटाता है।

तो आपको पहले कर्मचारी तालिका में रिकॉर्ड डालना होगा, आईडी मान प्राप्त करने के लिए उपरोक्त क्वेरी चलाएं और इसे दूसरी तालिका में सम्मिलित करने के लिए उपयोग करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे INSERT करें यदि पंक्ति मौजूद नहीं है (UPSERT) MySQL में

  2. केवल एक MySQL क्वेरी का उपयोग करके डुप्लिकेट निकालें?

  3. मैं इस क्वेरी को तेज़ी से कैसे चलाऊंगा?

  4. क्या डोमेन के बजाय स्थानीयहोस्ट पर MySQL को कनेक्ट/उपयोग करना तेज़ है (भले ही डोमेन उसी कंप्यूटर पर हल हो जाए)?

  5. MySQL में निकटतम पूर्णांक तक कैसे गोल करें?