Hola a todos:
Tengo una tabla con alrededor de 2000 registros los cuales contienen duplicados causado por un mal diseño de la BD en un inicio (OJO no fui yo quien la diseño ;)). Ahora la estoy revisando y pues bueno intentando solucionar este problema. La tabla original es la siguiente:
Código:
CREATE TABLE IF NOT EXISTS `author` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '',
`product_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2223 ;
Si se dan cuenta tiene 2233 registros :) bueno para solventar el problema de los duplicados he creado una relacion n:m entre la tabla author y product quedandome de la siguiente forma:
Código:
CREATE TABLE IF NOT EXISTS `author_to_product` (
`author_id` int(11) NOT NULL,
`product_id` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
Todo bien hasta ahi ahora el problema esta en crear un script que cuando lo ejecute me permita:
1. Determinar los duplicados existentes en la tabla author
2. Insertar el ID del primer registro encontrado asi como el product_id en la tabla author_to_product
3. Eliminar todos los duplicados dejando solamente el primer registro encontrado como referencia
Me hago entender? Alguna ayuda o idea?