Du kommer att vilja använda syntaxen INSERT...ON DUPLICATE KEY UPDATE.
http://dev.mysql.com/doc /refman/5.1/en/insert-on-duplicate.html
Här är ett exempel som kommer att försöka skapa en post med ett id, födelsedag och namn. Om det finns en post med id-fältet kommer den att göra den angivna uppdateringen. Tabellen har massor av andra fält som e-postadress, postnummer, etc. Jag vill lämna dessa fält ifred om jag uppdaterar. (REPLACE INTO skulle förlora all denna data om jag inte inkluderade den i REPLACE INTO-satsen.)
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';