यह व्यक्तिपरक लगता है, लेकिन मैं कहूंगा कि नहीं, यह अवधारणात्मक रूप से सही नहीं है, क्योंकि:
- आप सबसे हाल ही में डाली गई पंक्ति चाहते हैं
- लेकिन आपकी क्वेरी अधिकतम
id
को देखती है मूल्य
हां, मैक्स आईडी और सबसे हाल के इंसर्ट के बीच कुछ संबंध है, लेकिन निम्नलिखित पर विचार करें:
- क्या होगा यदि सबसे हाल ही में डाली गई पंक्ति हटा दी गई हो?
MySQL पर उत्तर दें:आपको अलग-अलग परिणाम मिलते हैं। ध्यान दें कि इसके विफल होने के लिए मल्टीथ्रेडिंग या कई प्रक्रियाओं की भी आवश्यकता नहीं है। ऐसा इसलिए है क्योंकि वे दो अलग-अलग चीजें हैं (जो वास्तव में अक्सर एक ही परिणाम उत्पन्न कर सकते हैं)।
select max(id) from <tablename>
बनाम
select last_insert_id()
(लगता है कि कौन सा सही है।)
@Dems ने बताया कि ओपी अस्पष्ट है। मैं अपना मुख्य बिंदु स्पष्ट करूंगा:
हम तीन अलग-अलग सूचनाओं के बारे में बात कर रहे हैं:
- अधिकतम
id
मूल्य id
हाल ही में सम्मिलित की गई पंक्ति की, किसी सत्र के लिए विशिष्टid
पंक्ति की सबसे हाल ही में तालिका में डाली गई (सत्र की परवाह किए बिना)
खतरनाक बात यह है कि कभी-कभी, एक के लिए पूछताछ दूसरे के लिए सही उत्तर देगी -- लेकिन हमेशा नहीं ।