Wenn Sie dies in einer einzigen Anweisung tun möchten (klingt nach dem, was Sie wollen), würde ich die Verwendung von INSERT ... ON DUPLICATE KEY UPDATE empfehlen Syntax wie folgt:
INSERT INTO table (id, someothervalue) VALUES (1, 'hi mom')
ON DUPLICATE KEY UPDATE someothervalue = 'hi mom';
Das anfängliche INSERT -Anweisung wird ausgeführt, wenn es keinen vorhandenen Datensatz mit dem angegebenen Schlüsselwert gibt (entweder Primärschlüssel oder eindeutig). Wenn ein Datensatz bereits vorhanden ist, wird das folgende UPDATE Anweisung (someothervalue = 3 ) wird ausgeführt.
Dies wird in allen Versionen von MySQL unterstützt. Weitere Informationen finden Sie auf der Seite MySQL-Referenzhandbuch für INSERT ... ON DUPLICATE KEY UPDATE