Ver Mensaje Individual
  #13 (permalink)  
Antiguo 12/07/2013, 23:27
calero1000
 
Fecha de Ingreso: octubre-2010
Mensajes: 20
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: #1062 - Duplicate entry '6' for key 'PRIMARY'

Cita:
Iniciado por leonardo_josue Ver Mensaje
Hola calero1000:

Lo que gnzsoloyo te pide es el resultado de la ejecución de la sentencia SHOW CREATE TABLE... si observas en la última imagen que subiste, en la parte inferior donde se muestran los resultados aparece una tabla con dos columnas, una de las columnas dice:

Código:
CREATE TABLE `tblarticulo`(
`id_Articulo` int(...
Eso es lo que interesa... toda la sentencia que se utilizó para crear la tabla.

Saludos
Leo.
Cita:
Iniciado por gnzsoloyo Ver Mensaje
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.


Hola:
Muchas gracias por todo y por la paciencia que has tenido conmigo.

Una última pregunta, he borrado la tabla de artículos de la base de datos en la que voy a importar los datos y estructura y al importarlos se me ha copiado todo, me sale el error pero se me copian todas la tablas y datos, haciéndolo así se puede hacer un desastre?.

Última edición por gnzsoloyo; 13/07/2013 a las 04:48