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

एक शर्त के साथ डुप्लीकेट कुंजी अद्यतन पर?

दूसरा विकल्प:

INSERT INTO tbl (count, otherID) 
  VALUES (2, 'a') 
ON DUPLICATE KEY UPDATE 
  count = GREATEST(VALUES(count), count) ;

चेतावनी: यह विफल हो जाएगा यदि count . के लिए पारित मान NULL है (2 . के बजाय ) यह कॉलम को NULL . के साथ अपडेट करेगा . इसलिए, IF() . का उपयोग करना बेहतर है या एक CASE खंड।

जब तक आप पसंद नहीं करते (लालित्य जाता है ...):

ON DUPLICATE KEY UPDATE 
  count = GREATEST(COALESCE(VALUES(count), count), count) ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL केवल तालिका में सम्मिलित करें यदि रिकॉर्ड मौजूद नहीं है

  2. mysql के साथ ग्रिडव्यू कैसे पॉप्युलेट करें?

  3. MySQL - महीने के हिसाब से गिनें (लापता रिकॉर्ड सहित)

  4. मिलीसेकंड सटीकता के साथ टाइमस्टैम्प:उन्हें MySQL में कैसे सहेजना है

  5. MYSQL में DBCC INPUTBUFFER(@@SPID)(जो वर्तमान कनेक्शन ओटीआर निर्दिष्ट कनेक्शन के लिए sql स्टेटमेंट देता है) का समकक्ष स्टेटमेंट क्या है?