2012-02-16 15 views
5

एक उच्च ट्रैफ़िक एप्लिकेशन में, क्या गलत आईडी वापस करने के लिए mysqli_insert_id() के लिए संभव है, या आईडी को दो INSERT क्वेरी के बीच लगभग भ्रमित करने के लिए संभव है?क्या उच्च ट्रैफिक अनुप्रयोगों में गलत आईडी वापस करने के लिए mysqli_insert_id के लिए यह संभव है?

+1

अच्छा सवाल +1 – tomexsans

+0

एफवाईआई इसे एक [* रेस कंडीशन *] कहा जाता है (http://en.wikipedia.org/wiki/Race_condition) –

उत्तर

8

सं mysqli_insert_id वर्तमान कनेक्शन पर सबसे हाल ही INSERT क्वेरी से सबसे AUTO_INCREMENT मान देता है। उदाहरण के लिए, यह किसी अन्य कनेक्शन से कभी भ्रमित नहीं होगा।

1

नहीं। मैं इतना कैसे सुनिश्चित कर सकता हूं? क्योंकि यह रिपोर्ट किया गया था और लंबे समय पहले रिपोर्ट किया गया था।

1

पिछले एक जवाब से ठीक उसी सवाल का हवाला देते हुए: अधिक जानकारी के लिए 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 का उपयोग करना ईएनटी कॉलम एक साथ कई ग्राहकों से पूरी तरह मान्य है। प्रत्येक ग्राहक है कि ग्राहक निष्पादित पिछले बयान के लिए पिछले डाला आईडी प्राप्त होगा। "

तो तुम तुम क्या चाहते कर ठीक होना चाहिए और आप अजीब परिणाम नहीं मिलना चाहिए।

संबंधित मुद्दे

 संबंधित मुद्दे