Al importar una base de datos puede que te hayas topado con el error "Duplicate entry for key PRIMARY" y que la restauración de la base de datos haya quedado parcial o nula. Esto te puede suceder si lo estás haciendo desde PHPMyAdmin como si estás usando nuestro MySQL Toolbox.
El error menciona que al importar la base de datos que estás intentando, en una tabla donde se definen ciertos valores de campo como "únicos", al realizar la importación se detectan más de un registro con el mismo valor, el cual no debería tener duplicados. Esto corta la restauración y la base de datos queda nula o incompleta.
Esto no siempre es un error del archivo de backup que estamos restaurando, sino que puede ser también de la base de datos sobre la que estamos intentando restaurar, o bien, en origen estaba repetido y deberás solucionarlo antes de importar la copia de la base en destino.
Muchas veces esto ocurre si estás intentando importar más de una vez un backup de una base, sobre la misma base de datos existente. Si es así, primero vacía la base destino y luego importa el backup. En caso de que no, sigue leyendo.
Opción 1: Pide al desarrollador o al DBA que revise y corrija el valor repetido
Esto se recomienda que el desarrollador o administrador de la base de datos lo haga en el servidor de origen, o sobre una copia de la base original antes de exportar el backup.
Opción 2: Edita el archivo SQL para que se pueda importar sin errores
Para esto hay dos métodos:
- Método 1: Reemplazar todas las sentencias "INSERT INTO" por "REPLACE INTO": esto hará que se conserve el último registro repetido, pisando todos los anteriores, dejando en cada caso el registro más nuevo que hubiera repetido.
- Método 2: Reemplazar toda las sentencias "INSERT INTO" por "INSERT IGNORE INTO": esto hará que se conserve el primer registro y se ignore cualquier otro repetido, dejando en cada caso el registro más viejo e ignorando todos los siguientes.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.