Resolver el error cuando importamos un dump en Mysql "Duplicate entry for key ‘PRIMARY’."
Hoy vamos a ver un caso concreto de error que ocurre cuando queremos importar un dump de mysql.
En algunos casos, al realizar un import de mysql realizado com mysqldump, tenemos que gestionar el error "Duplicate entry for key PRIMARY". Esto en teoría es un sin-sentido ya que si hacemos un export de nuestra ddbb y la ddbb está funcionando correctamente, no podemos tener PRIMARY KEYs duplicadas claramente.
El problema reside cuando en ddbb guardamos texto complejo. Me refiero a por ejemplo HTML (no se debería guardar pero en casos com Wordpress es muy común.....). Lo que ocurre es que en estos casos el intérprete de mysql, al realizar la importación, no es capaz de procesar bien el marqueo de html y se vuelve un poco loco y de ahí que encuentre "primary keys repetidas"
Ser no es un problema nuestro pero tenemos que gestionarlo. La solución es bastante sencilla! codifica en binario el backup
Y tu dirás, muy bien! pero cómo lo hago?? Sencillo también :) Usa el parámetro --hex-blob durante el dump de datos
mysqldump --hex-blob mi_base_de_datos --result-file=mi_dump.sql
Como vés es muy muy sencillo. Con esto lo que hacemos es codificar todo el dump en binario entonces ya no tenemos el problema de tener claves repetidas porque al serializar todo esto ya de por sí es imposible
DONE :D