Básicamente tenemos que agregar algunos índices a la tabla. Ya que, si recordamos, los índices son índices porque no se repiten (y porque ayudan a hacer las búsquedas más rápidas).
Entonces, si agregamos índices en los campos que no queremos que se repitan, se eliminarán de tal forma que, de todos los repetidos sólo quedará uno.
La consulta es:
En donde tu_tabla
es el nombre de la tabla con datos repetidos. En este caso se supone que sólo son 2 columnas, pero podemos agregar muchas columnas.
Usamos IGNORE
para que no nos dé ningún error, ya que nos intentará avisar que hay datos repetidos y que serán eliminados. Pero como nosotros ya sabemos que hay repetidos, ignoramos el error.
Después de hacerlo, podemos eliminar el índice usando:
Aquí es importante mencionar que el nombre del índice es formado por el nombre de la primer columna. Por lo que si la primer columna fue “nombre” entonces el índice será “nombre” sin importar cuántas columnas hayas indexado.
Nota: está de más decir que debemos hacer un respaldo completo antes de hacer cualquier movimiento. Nunca se sabe si algo puede salir mal.
Nota: tal vez la tabla no tenga sentido, pero recuerden que es para ilustrar. Es que no se me ocurre otra cosa para poner el ejemplo.
Voy a crear una tabla y le pondré datos duplicados. La tabla guardará datos sobre mascotas. Para crear la tabla usamos:
Para ponerle algunos datos usamos:
Ahora mostramos los datos con:
Obtenemos:
Podemos observar que se repiten los datos. Y para este ejemplo supondremos que no pueden existir dos perros que tengan el mismo nombre, la misma edad, la misma raza ni el mismo género.
Es importante notar que Coqueta se repite 3 veces (está en el #3, #4 y #9), pero en las primeras dos en realidad no se repite, ya que cambia el género.
Entonces se supone que esa fila debe quedar intacta, porque aunque los datos coincidan con la mascota #3 y #9 el género cambia.
Ahora ejecutaré el comando:
Volveré a mostrar los datos:
Y podemos ver que Coqueta sigue ahí, y así debe ser.
Porque indiqué que sólo quería eliminar aquellos en donde tanto el nombre, la edad, la raza y género fueran iguales. Y en éste caso cambia el género.
Si quisiéramos eliminar en donde se repitiera el nombre, la consulta sería:
Así podemos ir jugando con las columnas y los datos.
Finalmente, si no queremos que los índices estén ahí, podemos usar:
Es necesario notar que el nombre del índice es tomado de la primera columna que especificamos al indexar. Como en este caso fue nombre, entonces ese fue el nombre del índice.
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Esta web usa cookies.
Ver comentarios
Agradecido con su post