अद्वितीय . उत्पन्न करने के लिए auto_increment तंत्र आवश्यक है मान, जो पहले उत्पन्न किए गए किसी भी मूल्य से अधिक हैं। यह लगातार . उत्पन्न करने की गारंटी नहीं देता है मान।
इसके बारे में यहां कुछ चर्चा है:https://bugs.mysql.com/bug. php?id=57643
लगातार मूल्यों को ईमानदारी से उत्पन्न करने में बहुत कम महत्व है, क्योंकि कोई भी मूल्य अन्य कारणों से "खो" सकता है:
- आपका INSERT विफल हो जाता है, उदाहरण के लिए UNIQUE KEY या FOREIGN KEY जैसी बाधाओं का उल्लंघन करने के कारण।
- आप अपने INSERT के लिए लेन-देन वापस लेते हैं।
- आप सफल होते हैं और प्रतिबद्ध होते हैं, लेकिन बाद में आपके द्वारा या किसी अन्य सत्र द्वारा पंक्ति को हटा दिया जाता है।
ऑटो-इंक मान किसी भी प्रकार की कतार में वापस नहीं आते हैं, क्योंकि अन्य समवर्ती सत्रों ने इस बीच और अधिक आईडी मान उत्पन्न किए होंगे। यह इनो डीबी के लायक नहीं है जो असंबद्ध आईडी मानों का एक पूल बनाए रखता है, क्योंकि वह पूल विशाल और बेकार हो सकता है।
साथ ही, किसी आईडी मान को "खोने" के लिए उपयुक्त हो सकता है, अन्यथा कोई व्यक्ति यह सोचेगा कि जिस पंक्ति को वे DELETE करना चाहते थे वह किसी तरह वापस आ गई।