En muchas ocasiones nos puede interesar insertar un registro o actualizarlo si e ste ya existe. Para hacer esto tenemos varias opciones, como por ejemplo estas d os: Opcin A: Comprobamos si el registro ya existe. Si no existe lo insertamos. Si existe lo actualizamos. Opcin B: Intentamos insertar el registro. Si se produce un error lo actualizamos. Pero MySQL nos da una opcin mucho ms elegante para realizar esto. Se trata de util izar la construccin ON DUPLICATE KEY UPDATE. Podemos ver la documentacin de esta c onstruccin en el manual de MySQL. Pero vamos a ver un par de ejemplos: 1 INSERT INTO tabla (a, b, c) VALUES (1, 2, 3) 2 ON DUPLICATE KEY UPDATE b=2, c=3 De esta forma si ya existe un registro con el valor del campo a igual a 1, suponie ndo que el campo a sea la clave, se actualizarn los valores. Y si tenemos varios r egistros? Entonces podemos usarlo de la forma siguiente: 1 INSERT INTO tabla (a, b, c) VALUES (1, 2, 3), (4, 5, 6) 2 ON DUPLICATE KEY UPDATE b=VALUES(b), c=VALUES(c) De esta forma se coger los valores b=2 y c=3 para la clave a=1 y b=5 y c=6 para l a clave a=4.