ऑटो-इन्क्रीमेंट वैल्यू जेनरेट करने का एकमात्र तरीका इन्सर्ट का प्रयास करना है। लेकिन आप उस लेन-देन को वापस ले सकते हैं, और फिर भी उत्पन्न आईडी को पढ़ सकते हैं। MySQL 5.1 और बाद के संस्करण में, डिफ़ॉल्ट व्यवहार यह है कि जब आप वापस रोल करते हैं तो ऑटो-इन्क्रीमेंट मान स्टैक पर "वापस" नहीं होते हैं।
START TRANSACTION;
INSERT INTO mytable () VALUES ();
ROLLBACK;
SELECT LAST_INSERT_ID() INTO @my_ai_value;
अब आप सुनिश्चित हो सकते हैं कि कोई अन्य लेन-देन उस मान का उपयोग करने का प्रयास नहीं करेगा, इसलिए आप इसे अपनी बाहरी प्रक्रियाओं में उपयोग कर सकते हैं, और फिर अंत में मैन्युअल रूप से एक मान डालें जो उस आईडी मान का उपयोग करता है (जब आप एक विशिष्ट आईडी मान डालते हैं, तो MySQL नहीं करता है एक नया मान उत्पन्न करें)।