Error #1062 en phpMyAdmin - Entrada duplicada '1' para la clave 'PRIMARY'

15 may 2014, 03:05:20
Vistas: 23.4K
Votos: 0

¡Soy nuevo en PHP!

Estoy tratando de importar un archivo SQL usando phpMyAdmin a través del cPanel de GoDaddy (por favor, no se burlen de mí)

Aquí está el resultado completo

-- -- Volcando datos para la tabla `wp_commentmeta` -- 
INSERT INTO `wp_commentmeta` (`meta_id`, `comment_id`, `meta_key`, `meta_value`) VALUES 
(1, 3, 'rating', '5'), 
(37, 39, 'rating', '5'), 
(35, 37, 'is_customer_note', '0'), 
(4, 6, 'is_customer_note', '0'), 
(5, 7, 'is_customer_note', '0'), 
(6, 8, 'is_customer_note', '0'), 
(7, 9, 'is_customer_note', '0'), 
(8, 10, 'is_customer_note', '0'), 
(9, 11, 'is_customer_note', '0'), 
(10, 12, 'is_customer_note', '0'), 
(11, 13, 'is_customer_note', '0'), 
(34, 36, 'is_customer_note', '0'), 
(13, 15, 'is_customer_note', '0'), 
(14, 16, 'is_customer_note', '0'), 
(15, 17, 'is_customer_note', '0'), 
(16, 18, 'is_customer_note', '0'), 
(17, 19, 'is_customer_note', '0'), 
(18, 20, 'is_customer_note', '0'), 
(19, 21, 'is_customer_note', '0'), 
(45, 44, 'rating', '4'), 
(46, 45, 'rating', '4'), 
(22, 24, 'is_customer_note', '0'), 
(23, 25, 'is_customer_note', '0'), 
(24, 26, 'is_customer_note', '0'), 
(25, 27, 'is_customer_note', '0'), 
(26, 28, 'is_customer_note', '0'), 
(2[...]

Tengo muy poca experiencia en PHP y probablemente necesite que esto se me explique como si fuera un bebé, solo como precaución

0
Todas las respuestas a la pregunta 2
4

Por lo que puedo ver, estás insertando datos en la tabla wp_commentmeta. Sin embargo, la columna meta_id tiene una restricción de Clave Primaria. Puedes ver la definición de la tabla en http://codex.wordpress.org/Database_Description#Table:_wp_commentmeta

Como meta_id tiene una restricción de Clave Primaria, esta columna solo puede contener valores únicos. Las sentencias de inserción que has publicado muestran solo valores únicos para meta_id, por lo que mi suposición es que tu tabla wp_commentmeta actual ya contiene datos. El valor '1' ya está en la tabla y por lo tanto no puedes insertar '1' nuevamente.

15 may 2014 07:03:59
Comentarios

Olvida mi último comentario... De nuevo, no sé mucho sobre PHP, pero ¿podría modificar la parte CREATE TABLE IF NOT EXISTS de la estructura de la tabla para que... no intente insertar ningún detalle si ya existen (que es el caso)?

little tiny man little tiny man
16 may 2014 21:24:25

Necesitas decirnos qué es lo que intentas lograr. Necesitamos más información de contexto. ¿Por qué estás importando este archivo SQL?

AlexanderR AlexanderR
16 may 2014 21:48:57

Estoy migrando un Wordpress, esta es la base de datos.. Hice otra pregunta más útil que podría ser de ayuda.

little tiny man little tiny man
16 may 2014 22:00:09

Parece la misma pregunta. Creo que lo estás abordando de manera incorrecta. No deberías tener tablas de base de datos en el nuevo servidor. No deberías tener archivos ni siquiera una instalación de WordPress. Comenzando desde una carpeta vacía donde deseas que funcione WordPress, copias los archivos (esto crea WordPress). Luego usas phpMyAdmin para importar datos a una base de datos vacía que creas para que WordPress la use. Sigue las instrucciones en este tutorial de Tutsplus

AlexanderR AlexanderR
16 may 2014 22:44:24
0

Este es un viejo problema que había olvidado. El problema aquí es que se seleccionó una base de datos antigua en el menú izquierdo de phpMyAdmin (léase: soy nuevo en la gestión de bases de datos). La tabla ya estaba en uso y por lo tanto contenía datos - este mensaje de error aparece porque phpMyAdmin intentó escribir en la primera línea, no pudo (ya contenía datos) y luego se detuvo.

Simplemente creando una nueva base de datos y seleccionándola no solo solucionó esto, sino que era la forma correcta de hacer exactamente lo que quería. Por alguna razón, todas estas respuestas asumen que no soy simplemente inexperto en gestión de SQL; lo tomaré como un cumplido.

23 ago 2014 15:37:28