Ver Mensaje Individual
  #12 (permalink)  
Antiguo 12/07/2013, 14:40
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: #1062 - Duplicate entry '6' for key 'PRIMARY'

Código SQL:
Ver original
  1. CREATE TABLE `tblarticulos`
  2. (`id_Articulo` INT(11) NOT NULL AUTO_INCREMENT,
  3. `strNombre` VARCHAR(100) CHARACTER SET latin1 NOT NULL,
  4. `strDescrip_corta` VARCHAR(130) CHARACTER SET latin1 NOT NULL,
  5. `strDescrip_larga` text COLLATE utf8_spanish_ci,
  6. `strImagen` VARCHAR(100) CHARACTER SET latin1 NOT NULL,
  7. `intProveedor` INT(11) NOT NULL,
  8. `intFamilia` INT(11) NOT NULL,
  9. `intCategoria` INT(11) NOT NULL,
  10. PRIMARY KEY (`id_Articulo`)
  11. ) ENGINE=InnoDB AUTO_INCREMENT=285
  12. DEFAULT CHARSET=utf8
  13. COLLATE=utf8_spanish_ci
Bueno, afortunadamente parece que algo está mal en esa vista del phpMyadmin, porque pese a lo que me parecía, sólo hay un campo declarado como PK: ID_ARTICULO".
Eso es bueno.
Siendo así, entonces la cosa es claramente como te mencionaba: El conjunto de datos que estás importando contiene valores de ID que ya existen en la base destino. Es un problema muy habitual, y eso va a complicar las cosas bastante, porque hay que verificar si los datos que estás importando están o no cargados en la base destino, y eso no se puede hacer de forma automática. Muy probablemente haya que verificarlo a mano... y no es una tarea para principiantes, lamento decírtelo.
En esencia, hay que verificar si los valores de los restantes campos coinciden par aun registro con el mismo ID que tiene la tabla origen. Lo que vulgarmente se denomina un "matching" entre las tablas.
El problema es que para hacerlo tendrás que crear una base de datos paralela en el mismo servidor de destino, y poner allí una réplica exacta de la base origen, a fin de realizar el proceso de validación.
Yo tuve que hacer un proceso de ese tipo, para ser incluido en una aplicación que migraba datos entre dos o más bases sucursales distintas, y el trabajo completo (con bases de 78 tablas) me llevó mas o menos tres semanas de desarrollo, hasta que funcionó mas o menos bien.
Y yo ya tenía bastante práctica en MySQL...

Esto es una tarea como para que pidas ayuda. Pero ayuda que pueda trabajar sentado en tu computadora... no simplemente asesoramiento.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)