Друг вариант:
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) ;