जैसा कि हम जानते हैं कि MySQL LAST_INSERT_ID() फंक्शन नवीनतम उत्पन्न अनुक्रम संख्या लौटाता है लेकिन एकाधिक पंक्ति-इन्सर्ट के मामले में यह सबसे पहले इन्सर्ट की गई पंक्ति द्वारा उत्पन्न अनुक्रम संख्या लौटाएगा।
उदाहरण
mysql> Insert into Student(Name) values('Ram'),('Mohan'),('Aryan');
Query OK, 3 rows affected (0.03 sec)
Records: 3 Duplicates: 0 Warnings: 0
उपरोक्त क्वेरी एकाधिक-पंक्ति इन्सर्ट क्वेरी की मदद से Student टेबल में तीन मान डालती है। कॉलम 'Id' का मान निम्नलिखित क्वेरी की मदद से जांचा जा सकता है:
mysql> Select * from Student; +----+-------+ | Id | Name | +----+-------+ | 1 | Raman | | 2 | Rahul | | 3 | Ram | | 4 | Mohan | | 5 | Aryan | +----+-------+ 5 rows in set (0.00 sec)
इसका मतलब है कि Last_Insert_Id() को 5 आउटपुट के रूप में लौटाना चाहिए लेकिन जैसा कि हम देख सकते हैं यह मान 3 लौटाता है:
mysql> Select Last_Insert_Id(); +------------------+ | Last_Insert_Id() | +------------------+ | 3 | +------------------+ 1 row in set (0.00 sec)
यह मान 3 लौटाता है क्योंकि 3 उपरोक्त एकाधिक पंक्ति-इन्सर्ट क्वेरी के साथ सबसे पहले इन्सर्ट की गई पंक्ति का मान है।