Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Explicacion de como borrar duplicados de una tabla

Estas en el tema de Explicacion de como borrar duplicados de una tabla en el foro de Mysql en Foros del Web. Es que estaba buscando como hacer esto y todo lo que encontraba lo unico que hacia era borrar todos los datos de la tabla. Al ...
  #1 (permalink)  
Antiguo 30/04/2011, 07:47
 
Fecha de Ingreso: marzo-2011
Ubicación: Valencia
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Información Explicacion de como borrar duplicados de una tabla

Es que estaba buscando como hacer esto y todo lo que encontraba lo unico que hacia era borrar todos los datos de la tabla.

Al final encontre este codigo que es facil, rapido y va de lujo.

Código MySQL:
Ver original
  1. CREATE TABLE products_categories_temp AS SELECT * FROM products_categories GROUP BY productid
  2.  
  3. TRUNCATE products_categories
  4.  
  5. INSERT INTO products_categories SELECT * FROM products_categories_temp

La tabla products_categories es la que queremos editar (la que hay que quitar los duplicados) .

products_categories_temp es una tabla en la que almacenamos temporalmente los datos.

productid es la columna por la que vamos a referenciar la busqueda. Quiero decir. La columna que queremos que se borren los duplicados (por ejemplo en mi caso se llamaba nombre porque tenia varios nombres iguales).

Pues ya esta. Va de lujo. Espero que os sirva. Hasta que encontre esto lo pase muy mal tirando de backups.

Esta idea es de Damon Parker. Cuya web es damonparker.org

  #2 (permalink)  
Antiguo 30/04/2011, 08:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Explicacion de como borrar duplicados de una tabla

La idea es práctica, pero me preocupa que en una tabla se estén duplciando datos, lo que nos habla de dos problemas: No estás validando entradas y no está bien definida la PK de esa tabla.
La validación de altas, es un tema de programación. Es parte de lo que siempre debe hacerse.
Pero si aún haciendo validaciones se te produjeron duplicados en esa tabla, que aparentemente relaciona "productos" con "categorías", es porque tiene un problema de diseño: Una relación N:N entre dos tablas no requiere una PK (un ID) propio, porque la PK es la PK de cada tabla relacionada y que se colocan como FK.
De esa forma, jamás se te podrían duplicar los datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: borrar, duplicados, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:11.