Pokud to chcete udělat v jediném příkazu (zní to jako to, co chcete), doporučil bych použít INSERT ... ON DUPLICATE KEY UPDATE syntaxe takto:
INSERT INTO table (id, someothervalue) VALUES (1, 'hi mom')
ON DUPLICATE KEY UPDATE someothervalue = 'hi mom';
Počáteční INSERT příkaz se provede, pokud neexistuje žádný záznam se zadanou hodnotou klíče (buď primární nebo jedinečný). Pokud již záznam existuje, následující UPDATE příkaz (someothervalue = 3 ) se provede.
To je podporováno ve všech verzích MySQL. Další informace naleznete na stránce Referenční příručka MySQL pro INSERT ... ON DUPLICATE KEY UPDATE