No se que versión de MySql tienes, pero por lo menos en la 5 hay dos sentencias que te permiten hacer eso: En concreto, REPLACE funciona como "INSERT IGNORE", pero si encuentra claves duplicadas, te borra la fila y la vuelve a insertar con el nuevo valor.
Mas información en
esta página
Saludos