Een andere optie:
INSERT INTO tbl (count, otherID)
VALUES (2, 'a')
ON DUPLICATE KEY UPDATE
count = GREATEST(VALUES(count), count) ;
Waarschuwing: Dit mislukt als de doorgegeven waarde voor count is NULL (in plaats van 2 ). Het zal de kolom bijwerken met NULL . Het is dus beter om de IF() . te gebruiken of een CASE clausule.
Tenzij je de voorkeur geeft aan (daar gaat de elegantie ...):
ON DUPLICATE KEY UPDATE
count = GREATEST(COALESCE(VALUES(count), count), count) ;