Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

INSERT IN... ON DUPLICATE UPDATE सभी मान

INSERT INTO … ON DUPLICATE KEY UPDATE इस तरह काम करता है:

  • यह हमेशा की तरह एक पंक्ति डालने का प्रयास करता है
  • यदि किसी कॉलम में कोई बाधा उल्लंघन होता है, तो वह UPDATE को निष्पादित करता है इसके बजाय मौजूदा पंक्ति पर कथन जिसके साथ INSERT बयान टकरा गया

इसका सीधा सा मतलब है अगर UPDATE केवल स्टेटमेंट ही सफल होगा, इसका ON DUPLICATE KEY UPDATE समकक्ष भी काम करेगा। इसका मतलब है कि आप स्पष्ट रूप से UPDATE . में किसी भी बाधा का उल्लंघन नहीं कर सकते हैं कथन या तो, या पूरी बात विफल हो जाएगी (उदाहरण के लिए UNIQUE पर मान सेट करने का प्रयास करना कॉलम जो पहले से ही दूसरी पंक्ति में मौजूद है)।

यदि आप उसी मान को उसी कॉलम पर फिर से सेट करते हैं, तो यह अनिवार्य रूप से एक नो-ऑप है। कॉलम में मान नहीं बदलता है और इसलिए किसी भी त्रुटि का कारण नहीं बन सकता है (मान लें कि आपके पास वास्तव में कोई भी फंकी नहीं है BEFORE UPDATE ट्रिगर जो दुर्व्यवहार कर सकते हैं)। यहां स्तंभों की संख्या अप्रासंगिक है, आप एक कथन में जितने चाहें उतने या कम को बदल सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL का उपयोग करके Wordpress में एक पोस्ट सम्मिलित करना

  2. mysqldbcompare एक्सेस अस्वीकृत लेकिन mysql कमांड काम करता है

  3. MySQL क्वेरी को स्थानांतरित करें - कॉलम में पंक्तियों की आवश्यकता है

  4. MYSQL - दो तालिकाओं को संयोजित करें

  5. MySQL पिवट तालिका कॉलम नाम पर दिनांकित है