अगर मैं php फ़ंक्शन mysql_insert_id($link) का उपयोग करता हूं, तो क्या सर्वर को डेटाबेस में एक और यात्रा करने की आवश्यकता है?

(आप मान सकते हैं कि $link मौजूद है)

1
Pacerier 24 जुलाई 2011, 21:45
आपका मतलब एक और राउंडट्रिप है? उम्मीद है कि ऐसा करने के लिए आपका मतलब एक नया कनेक्शन नहीं है, जैसे कि आपके पास एक खुला कनेक्शन है, बस इसका इस्तेमाल करें।
 – 
Jared Farrish
24 जुलाई 2011, 21:47

2 जवाब

सबसे बढ़िया उत्तर

हां, अंतिम डालने वाली आईडी को पुनः प्राप्त करने के लिए डेटाबेस को फिर से पूछताछ की जाएगी।

1
plague 24 जुलाई 2011, 22:01
तो हम आम तौर पर इस समस्या से कैसे बचते हैं? मुझे वेब सर्वर से डेटाबेस में अतिरिक्त राउंड ट्रिप पसंद नहीं हैं
 – 
Pacerier
24 जुलाई 2011, 22:18
अगर आपको मूल्य की आवश्यकता है तो मुझे नहीं लगता कि आप इसके आसपास हो सकते हैं। यदि आपको किसी अन्य क्वेरी के लिए इसकी आवश्यकता है तो MySQL में एक फ़ंक्शन LAST_INSERT_ID() है जिसका उपयोग आप इसे पहले देखने के बजाय अपनी क्वेरी में मान के लिए असाइन करने के लिए कर सकते हैं।
 – 
plague
24 जुलाई 2011, 22:37

जैसा कि आप दस्तावेज़ीकरण विषय से देख सकते हैं, यह ऐसा नहीं करता है वह, क्योंकि यह एक पैरामीटर के लिए एक वैकल्पिक mysql कनेक्शन ऑब्जेक्ट ले सकता है (यदि यह प्रदान नहीं किया गया है, तो अंतिम उपयोग किया जाएगा)।

0
Gabi Purcaru 24 जुलाई 2011, 21:47
मेरा मतलब है कि क्या वेब सर्वर को डेटाबेस में एक और यात्रा करने की ज़रूरत है?
 – 
Pacerier
24 जुलाई 2011, 21:51
बिलकुल यह करता है। इसके साथ संचार किए बिना यह डेटाबेस से कैसे बातचीत कर सकता है?
 – 
Gabi Purcaru
24 जुलाई 2011, 22:01
मैंने सोचा था कि अंतिम डाली गई आईडी के परिणाम पहले ही कैश किए जा चुके हैं?
 – 
Pacerier
24 जुलाई 2011, 22:17