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

como eliminar registros repetidos

Estas en el tema de como eliminar registros repetidos en el foro de Mysql en Foros del Web. hola buenas tardes alguien sabe como eliminar registros repedidos.. no kiero k me los agrupe kiero eliminar permanentemente todos los k sean iguales ej: ------codigo--- ...
  #1 (permalink)  
Antiguo 27/09/2013, 15:39
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 15 años, 3 meses
Puntos: 0
como eliminar registros repetidos

hola buenas tardes alguien sabe como eliminar registros repedidos..
no kiero k me los agrupe kiero eliminar permanentemente todos los k sean iguales
ej:
------codigo---
00QAB
02621BD
02621BD
0265Y
027919081B
027919081B

elimnar campos iguales y quedar
00QAB
0265Y

se podra hacer esto??
  #2 (permalink)  
Antiguo 27/09/2013, 16:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como eliminar registros repetidos

En un sólo paso... no se puede.
Deberás haces al menos dos o tres.
¿Cuál es la PK de esa tabla?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/09/2013, 16:05
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: como eliminar registros repetidos

es codigo lo quise hacer asi pero nunca termina de cargar la pagina

DELETE FROM prueba1 WHERE (codigo) IN (SELECT codigo FROM prueba2);

en prueba uno tengo
------codigo---
00QAB
02621BD
02621BD
0265Y
027919081B
027919081B

y en prueba2

------codigo---
02621BD
027919081B
  #4 (permalink)  
Antiguo 27/09/2013, 16:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como eliminar registros repetidos

Vamos por partes: ¿La clave primaria de esa tabla se usa como FK en alguna otra tabla?
Saber eso es medio fundamental para saber si se puede hacer lo que quieres. Porque si se usa como FK, no podrás simplemente borrarlo. Hay algunos otros pasos previos.
Si no se usa como FK, entonces la cosa se simplifica.

Pero ten en cuenta antes que nada esto: No puedes borrar una tabla haciendo una consulta a la misma tabla. MySQL no te dejará hacerlo.
Por eso digo que hay que hacerlo en más de un paso.

Una opción es crear una tabla con la misma estructura, y trasvasar los registros únicos allí, para luego borrar la tabla y volverlos a pasar.
Otra posibilidad es trasvasar sólo los duplicados, para poder luego usarlos para eliminarlos de la primera.
Pero empieza por responder lo que se te pregunta...
__________________
¿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 27/09/2013, 16:38
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: como eliminar registros repetidos

ambas tablas son independientes "las genere sin pk y sin fk" solo tiene el mismo campo son de tipo varchar no estan unidas
  #6 (permalink)  
Antiguo 27/09/2013, 17:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: como eliminar registros repetidos

Cita:
Cita:
las genere sin pk


Te falta muuuucho conocimiento de Bases de Datos. Sin ofender.

Una tabla obligatoriamente debe tener siempre una PK, o de lo contrario se convierte en una bolsa de datos basura... como ahora.
Siempre debe tener una clave.
Siempre.

Bueno, volviendo al tema, haz lo siguiente (y por favor, cuando te pidamos que postees las estructuras de las tablas, haz lo que se te pide):

Supongamos que la tabla se llame tabla1:
Código MySQL:
Ver original
  1. CREATE TABLE tabla2 LIKE tabla1;

Código MySQL:
Ver original
  1. INSERT INTO tabla2
  2. SELECT DISTINCT codigo, ...(el resto de los campos uno por uno, y sin omitir ninguno, en el orden correcto
  3. FROM tabla1;

Código MySQL:
Ver original
  1. TRUNCATE tabla1;

Código MySQL:
Ver original
  1. INSERT INTO tabla1
  2. FROM tabla2;

Código MySQL:
Ver original
  1. DROP TABLE tabla2;
Una por una, es la ejecución...
__________________
¿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: campo, registros, 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 10:46.