मैंने आसपास खोज की है, लेकिन अगर यह संभव है तो नहीं मिला।
मैंने यह MySQL क्वेरी:
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
फ़ील्ड आईडी में एक "अद्वितीय सूचकांक" होता है, इसलिए उनमें से दो नहीं हो सकते। अब यदि वही आईडी डेटाबेस में पहले से मौजूद है, तो मैं इसे अपडेट करना चाहूंगा। लेकिन क्या मुझे वास्तव में इन सभी क्षेत्रों को फिर से निर्दिष्ट करना होगा, जैसे:
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
ON DUPLICATE KEY UPDATE a=2,b=3,c=4,d=5,e=6,f=7,g=8
या:
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c),d=VALUES(d),e=VALUES(e),f=VALUES(f),g=VALUES(g)
मैंने पहले से ही सब कुछ डालने में निर्दिष्ट किया है ...
एक अतिरिक्त नोट, मैं आईडी प्राप्त करने के लिए चारों ओर काम का उपयोग करना चाहूंगा!
id=LAST_INSERT_ID(id)
मुझे उम्मीद है कि कोई मुझे बता सकता है कि सबसे कुशल तरीका क्या है।
a=VALUES(a), b=VALUES(b), ...
जिस तरह से आपको जाने की आवश्यकता है। मैं अपने सभीINSERT ON DUPLICATE KEY UPDATE
कथनों के लिए यह कैसे करता हूं ।