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

Datos repetidos en BD!

Estas en el tema de Datos repetidos en BD! en el foro de Mysql en Foros del Web. Hola tengo una base de datos, en la cual tengo id y titulo... titulo es el titulo de algunos artículos, los cuales hay varios repetidos, ...
  #1 (permalink)  
Antiguo 14/12/2011, 10:37
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Datos repetidos en BD!

Hola tengo una base de datos, en la cual tengo id y titulo... titulo es el titulo de algunos artículos, los cuales hay varios repetidos, el id es autoincrement, así que no esta repetido, pero tengo varios títulos que si y me gustaría borrarlo ya que no son necesarios, con uno basta... como se le ocurre que podría borrarlos y dejar uno solo?



Saludos y gracias!
  #2 (permalink)  
Antiguo 14/12/2011, 15:35
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Datos repetidos en BD!

Saludos!

Deberías revisar primero tu tabla por que tienes un error de diseño.

Con este sql podrias obtener los titulos repetidos. Si quieres eliminarlos seria que antepusieras el delete hacia la tabla
Código MySQL:
Ver original
  1. SELECT titulo, count( titulo )
  2. FROM articulos
  3. GROUP BY (titulo)
  4. HAVING count( titulo ) >1
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 15/12/2011, 18:24
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: Datos repetidos en BD!

Una consulta y con esto me borra todos los repetidos, pero me deja uno? o me borra todos los repetidos?
  #4 (permalink)  
Antiguo 15/12/2011, 20:00
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, 4 meses
Puntos: 2658
Respuesta: Datos repetidos en BD!

No. Con esa consulta puedes identificar cuáles son los que están repetidos...
Lo que hagas luego con ellos depende de tu decisión, pero al menos sabrás cuáles son sus Ids.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 16/12/2011, 06:39
 
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: Datos repetidos en BD!

Ok, gracias Alguien que pueda decirme la forma de borrar todos los registros repetidos, para que de esta forma poner el campo como único?



Saludos...
  #6 (permalink)  
Antiguo 16/12/2011, 07:17
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, 4 meses
Puntos: 2658
Respuesta: Datos repetidos en BD!

No puedes hacerlo en una sola operación, porque MySQL no permite leer (SELECT) y borrar (DELETE) una tabla en la misma consulta,por lo tanto no puedes usar una subconsulta para obtener los ID que debes borrar.
Este es un tema mas o menos recurrente, provocado generalmente por falta de validaciones de datos a nivel programación (¡la base no hace magia!, si le mandas datos duplicados sin verificar, los guardará, a menos que tu diseño de datos esté optimizado).

Una formasde enfrentar el problema:
Crear una tabla temporal donde acumules los IDs obtenidos por una consulta que te permita identificar los registros que están duplicados. Luego eliminas de esa tabla aquellos IDs que deban quedar en la base y usas esa tabla para borrar los restantes.
__________________
¿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: repetidos
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 09:42.