के साथ उपयोग किया जाता है यदि मैं एक लूप के साथ एकाधिक रिकॉर्ड डालता हूं जो एक रिकॉर्ड डालने को निष्पादित करता है, तो अंतिम डालने वाली आईडी वापस आती है, आखिरी एक। लेकिन अगर मैं एक से अधिक रिकॉर्ड डालने बयान करते हैं:MySQL LAST_INSERT_ID() एकाधिक रिकॉर्ड INSERT कथन
INSERT INTO people (name,age)
VALUES ('William',25), ('Bart',15), ('Mary',12);
मान लीजिए कि तीन उपरोक्त तालिका में डाला पहले रिकॉर्ड करते हैं। सम्मिलित कथन के बाद मुझे अंतिम प्रविष्टि आईडी 3 लौटने की उम्मीद थी, लेकिन यह वापस आ गया 1. प्रश्न में कथन के लिए पहली डालने आईडी।
तो क्या कोई व्यक्ति कृपया पुष्टि कर सकता है कि यह एकाधिक रिकॉर्ड INSERT कथन के संदर्भ में LAST_INSERT_ID()
का सामान्य व्यवहार है या नहीं। तो मैं इस पर अपना कोड आधार कर सकता हूं।
क्या आपकी तालिका में ऑटो-incrementID है? –
दूसरी दो डालने वाली आईडी आसानी से गणना योग्य हैं। पहले के बाद प्रत्येक रिकॉर्ड के लिए बस एक जोड़ें। – dqhendricks
@dhehendricks क्या आप वाकई आईड्स सही होंगे? जहां तक मुझे innodb के साथ आवेषण पता है, आईडी के एक निश्चित सेट को लॉक न करें और दूसरी प्रक्रिया में प्रवेश हो सकता है, हालांकि मैं इसके बारे में 'INSERT ... मूल्यों' में एकाधिक मानों के लिए निश्चित नहीं हूं ... –