दूसरा विकल्प:
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) ;