एक उच्च ट्रैफ़िक एप्लिकेशन में, क्या गलत आईडी वापस करने के लिए mysqli_insert_id()
के लिए संभव है, या आईडी को दो INSERT
क्वेरी के बीच लगभग भ्रमित करने के लिए संभव है?क्या उच्च ट्रैफिक अनुप्रयोगों में गलत आईडी वापस करने के लिए mysqli_insert_id के लिए यह संभव है?
उत्तर
सं mysqli_insert_id
वर्तमान कनेक्शन पर सबसे हाल ही INSERT
क्वेरी से सबसे AUTO_INCREMENT
मान देता है। उदाहरण के लिए, यह किसी अन्य कनेक्शन से कभी भ्रमित नहीं होगा।
नहीं। मैं इतना कैसे सुनिश्चित कर सकता हूं? क्योंकि यह रिपोर्ट किया गया था और लंबे समय पहले रिपोर्ट किया गया था।
पिछले एक जवाब से ठीक उसी सवाल का हवाला देते हुए: अधिक जानकारी के लिए http://dev.mysql.com/doc/refman/5.6/en/getting-unique-id.html पर
देखो, यह इस का कहना है:
"LAST_INSERT_ID(), के लिए सबसे हाल ही में उत्पन्न ID में बनाए रखा है प्रति कनेक्शन के आधार पर सर्वर। यह किसी अन्य क्लाइंट द्वारा नहीं बदला गया है। यदि आप एक गैर-स्वचालित मूल्य के साथ एक और AUTO_INCREMENT कॉलम अपडेट करते हैं तो यह भी बदला नहीं जाता है (यानी, वह मान जो न्यूल और 0 नहीं है) LAST_INSERT_ID() और AUTO_INCREM का उपयोग करना ईएनटी कॉलम एक साथ कई ग्राहकों से पूरी तरह मान्य है। प्रत्येक ग्राहक है कि ग्राहक निष्पादित पिछले बयान के लिए पिछले डाला आईडी प्राप्त होगा। "
तो तुम तुम क्या चाहते कर ठीक होना चाहिए और आप अजीब परिणाम नहीं मिलना चाहिए।
अच्छा सवाल +1 – tomexsans
एफवाईआई इसे एक [* रेस कंडीशन *] कहा जाता है (http://en.wikipedia.org/wiki/Race_condition) –