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:
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: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 ;
Código:
Todo bien hasta ahi ahora el problema esta en crear un script que cuando lo ejecute me permita: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;
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?