Muchas veces realizamos inserts y nuestras comprobaciones son erróneas e intentamos insertar registros duplicados, dándonos un error gordo en MySQL. Para evitar esto, normalmente se usa un REPLACE cuando la situación permite reemplazar los valores nuevos por los actuales, pero cuando esto no es posible, nos tenemos que pegar con el código buscando la comprobación que no hacemos correctamente. Para evitar esto: insertar algo ya existente, MySQL ofrece la posibilidad de ignorar el insert cuando no se puede insertar:
INSERT IGNORE
INTO tabla
(id, valor, ...)
VALUES
(25, 'valor, ...)
Cada día aprendo algo nuevo, aunque a veces deberían darme con la Biblia de MySQL (775 páginas) en la cabeza por no conocer antes esto.