Będziesz chciał użyć składni INSERT...ON DUPLICATE KEY UPDATE.
http://dev.mysql.com/doc /refman/5.1/en/insert-on-duplicate.html
Oto przykład, który spróbuje utworzyć rekord z identyfikatorem, datą urodzin i imieniem. Jeśli istnieje rekord z polem id, dokona on określonej aktualizacji. Tabela zawiera wiele innych pól, takich jak adres e-mail, kod pocztowy itp. Chcę pozostawić te pola w spokoju, jeśli dokonam aktualizacji. (REPLACE INTO spowoduje utratę tych danych, jeśli nie uwzględnię ich w instrukcji REPLACE INTO).
INSERT INTO user (userid,birthday,first_name,last_name)
VALUES (1234,'1980-03-07','Joe','Smith')
ON DUPLICATE KEY UPDATE
birthday = '1980-03-07',
first_name = 'Joe',
last_name = 'Smith';