सबसे पहले, यह पूरी तरह से ठीक है इन अंतरालों को पाने के लिए। कोई समस्या नहीं है . यह सिर्फ आपका ओसीडी है जो आपको यह सोचने के लिए मजबूर करता है कि इन नंबरों को एक पैटर्न का पालन करना है - वे नहीं करते हैं।
auto_increment
एक PHP विशेषता नहीं है, यह MySQL सुविधा हैauto_increment
सुनिश्चित करता है कि प्रत्येक पंक्ति को एक अद्वितीय . मिले संख्या। यह अनुक्रमिक संख्याओं से संबंधित नहीं हैauto_increment
समवर्ती वातावरण में सुरक्षित रूप से काम करता है - इसका मतलब है कि बहुत सारे उपयोगकर्ता MySQL से जुड़ रहे हैं और सामान कर रहे हैं, और उन सभी को डेटाबेस से निपटने में सक्षम होना चाहिए और एक पंक्ति की पहचान के लिए एक ही आईडी नहीं प्राप्त करना चाहिए। यह एक जटिल प्रक्रिया के माध्यम से किया जाता है और यही कारण है किauto_increment
पैदावार अंतरालauto_increment
InnoDB
. द्वारा उपयोग किया जाता है डिस्क पर रिकॉर्ड के भौतिक संगठन के लिए - यहauto_increment
. की सुविधा का उपयोग करता है और वह एक ऐसी संख्या उत्पन्न कर रहा है जो पिछले से बड़ा है (यही वह करता है, पिछले से बड़ा, अनुक्रमिक नहीं)। इसके उपयोग से एक बी-ट्री का निर्माण किया जाता है और हार्ड ड्राइव पर अनुक्रम में रिकॉर्ड लिखे जाते हैं।auto_increment
के साथ छेड़छाड़ बनाता हैInnoDB
पेड़ का पुनर्संतुलन। इसका मतलब है कि यह रिकॉर्ड के माध्यम से जाता है और यदि आप इसके साथ खिलवाड़ करते हैं तो सूचकांक को फिर से बनाता है - यह कुछ ऐसा है जो आप नहीं चाहते हैं। कभी
जब आप इसके बारे में सोचते हैं, तो आपको अनुक्रमिक संख्याओं के साथ भी क्या मिलता है? वास्तव में कुछ भी नहीं, सिवाय आपके मस्तिष्क को शायद कम दर्द होता है क्योंकि कुछ काल्पनिक क्रम है।
अनुक्रमिक संख्याओं के लिए, उन्हें बनाने के लिए ट्रिगर का उपयोग करें। auto_increment
केवल एक काम और एक काम है - अद्वितीय . उत्पादन करने के लिए नंबर।