मेरा मानना है कि इसका उत्तर MySQL में दिया गया है दस्तावेज़ :
यदि किसी तालिका में AUTO_INCREMENT
है कॉलम और INSERT
... UPDATE
एक पंक्ति सम्मिलित करता है, LAST_INSERT_ID()
फ़ंक्शन AUTO_INCREMENT
लौटाता है मूल्य। अगर स्टेटमेंट इसके बजाय एक पंक्ति को अपडेट करता है, LAST_INSERT_ID()
अर्थपूर्ण नहीं है। हालांकि, आप LAST_INSERT_ID(expr)
. का उपयोग करके इससे निजात पा सकते हैं . मान लीजिए कि आईडी AUTO_INCREMENT
है कॉलम। LAST_INSERT_ID()
बनाने के लिए अपडेट के लिए सार्थक, पंक्तियों को इस प्रकार डालें:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;