“Conocimientos Programación>Programación PHP /MySQL

¿Cómo deshacerse de duplicados en MySQL

2012/11/25
Si la tabla de MySQL contiene cientos o miles de registros , que no quiere mirar de forma manual a través de cada uno para tratar de identificar registros duplicados. MySQL no tiene una sola consulta que puede utilizar para eliminar las entradas duplicadas en una tabla, pero puede utilizar una combinación de consultas y ejecutarlos en conjunto para eliminar sus dobles. Incluso si la tabla utiliza una clave principal para identificar los registros , puede eliminar los duplicados al no seleccionar el campo de clave primaria en sus consultas. Instrucciones .
1

inicia sesión en tu base de datos MySQL y acceso a la herramienta de consulta
2

Introduzca la siguiente consulta :

CREAR TABLA temp TEMPORAL SELECT DISTINCT col1 , col2 , col3 dEL GRUPO dE table_name col1 , col2 , col3 TENER COUNT ( *)> 1 ;

Esto crea una tabla temporal que comprueba la tabla suministrada por " table_name " y cuando se encuentra un registro duplicado , inserta que duplicado en la tabla temporal , pero sólo una vez . Por ejemplo, si " table_name " tiene tres entradas , " Jim ", " Bob" y " Bob ", el " temp" tabla sólo tiene un disco, " Bob" . . Si " col1 " actúa como un campo de clave principal en la tabla , no incluya " col1 " en la consulta y sólo tiene que seleccionar las otras dos columnas
3

Introduzca la siguiente consulta:

DELETE FROM nombre_tabla WHERE ( col1 , col2 , col3 ) IN ( SELECT col1 , col2 , col3 dE temp ) ;

Esta consulta comprueba cada registro " table_name " y elimina todos los registros que tienen duplicados , incluyendo el original . Por ejemplo , si la tabla tiene tres entradas , " Jim ", " Bob" y " Bob ", la consulta se eliminarán los dos " " los registros , dejando sólo " Jim Bob " en " table_name " . Una vez más, eliminar las referencias a " col1 " en la consulta si " col1 " es el campo de clave principal
4

Introduzca la siguiente consulta: .

INSERT INTO nombre_tabla ( col1 , col2 , col3 ) SELECT col1 , col2 , col3 dE temp ;

Esta consulta esencialmente copia todos los registros de la tabla temporal y de nuevo en los inserta " table_name ". Si en este momento " table_name " sólo tiene "Jim" y " temp" sólo tiene " Bob ", después de la consulta, " table_name " tendrá registros "Bob ", "Jim" y mientras la tabla temporal se elimina . Recuerde que debe eliminar las referencias " col1 " si se trata de una clave principal.
5

ejecutar todas las consultas .

Programación PHP /MySQL
Opciones de PHP Analizar
Cómo buscar Algoritmos en PHP
Cómo ajustar los parámetros de inicialización de PHP
Cómo crear PHP mail con un enlace
Cómo determinar si existe un archivo en PHP
Cómo hacer Documentos PHP Pop Up en una ventana de Dreamweaver
MySQL comas Error
Cómo crear enlaces simbólicos Uso de PHP
Conocimientos Informáticos © http://www.ordenador.online