¿Alguna ves se encontraron con una tabla sin indicies y con registros duplicados?. y les toca a ustedes tener que arreglarla? aqui les voy a dejar una solución muy simple para solucionar este tipo de problemas.
El problema: registros duplicados
Supongamos que nos encontramos con una tabla desastrosa, como esta:
id ciudad
1 Arroyo Seco
2 Acebal
2 Acebal
3 Alcorta
4 Arequito
4 Arequito
5 Armstrong
Como pueden ver, hay registros identicos, donde además de coincidir el nombre de la ciudad, también coincide el id.
Si intentan borrar uno manualmente, les va a pasar que se van a borrar los 2 al mismo tiempo y por consiguiente van a perder la información. Incluso poniendo LIMIT 1 en el DELETE, igual se borran los 2 registros al mismo tiempo.
Por suerte, aunque parezca un problema complicado, la solución es bastante simple.
La Solucion: Como Borrar Registros de Mysql duplicados?
Primero vamos a crear otra tabla, temporalmente, similar a la original.
CREATE TABLE ciudades_temporal;
si usas phpmyadmin, puedes hacerlo exportando la tabla y solo sacando la parte que la crea.ahora, copias los registros a esa tabla temporal sin su duplicado con esta sentencia
Insert into ciudades_temporal
SELECT * FROM ciudades GROUP BY (id);
finalmente borramos la tabla con los duplicados y renombramos la tabla temporal con el mismo nombre que la original.
DROP TABLE ciudades;
RENAME TABLE ciudades_temporal TO ciudades;
Recuerda que debes crear los
indices correspondientes y revisar la lógica del sistema que generó esa tabla, para asegurarnos que no vuelva a pasar.