Eroare phpMyAdmin #1062 - Intrare duplicată '1' pentru cheia 'PRIMARY'

15 mai 2014, 03:05:20
Vizualizări: 23.4K
Voturi: 0

Sunt începător în PHP!

Încerc să import un fișier SQL folosind phpMyAdmin prin cPanel-ul de la GoDaddy (vă rog să nu râdeți de mine)

Iată raportul complet

-- -- Descărcarea datelor pentru tabela `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[...]

Sunt destul de neexperimentat în PHP și probabil voi avea nevoie de o explicație pe înțelesul meu, doar ca precauție

0
Toate răspunsurile la întrebare 2
4

Din câte văd, încercați să inserați date în tabelul wp_commentmeta. Totuși, coloana meta_id are o restricție de Cheie Primară. Puteți vedea definiția tabelului la http://codex.wordpress.org/Database_Description#Table:_wp_commentmeta

Deoarece meta_id are o restricție de Cheie Primară, această coloană poate conține doar valori unice. Declarațiile de INSERT pe care le-ați postat arată doar valori unice pentru meta_id, deci presupun că tabelul dumneavoastră wp_commentmeta conține deja date. Valoarea '1' este deja în tabel și, prin urmare, nu o puteți insera din nou.

15 mai 2014 07:03:59
Comentarii

Ignorați ultimul meu comentariu... Din nou, nu știu prea multe despre PHP, dar aș putea modifica partea CREATE TABLE IF NOT EXISTS din structura tabelului astfel încât să... nu încerce să insereze detalii dacă acestea există deja (și există)?

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

Trebuie să ne spui ce încerci să realizezi. Avem nevoie de mai multe informații de context. De ce importi acest fișier SQL?

AlexanderR AlexanderR
16 mai 2014 21:48:57

Migrez un site Wordpress, aceasta este baza de date... Am pus o altă întrebare, mai utilă care ar putea fi de ajutor.

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

Pare a fi aceeași întrebare. Cred că abordezi problema într-un mod greșit. Nu ar trebui să ai tabele în baza de date pe noul server. Nu ar trebui să ai nici fișiere sau chiar o instalare WordPress. Plecând de la un folder gol în care dorești să ruleze WordPress, copiezi fișierele (acest lucru creează WordPress). Apoi folosești phpMyAdmin pentru a importa date într-o bază de date goală pe care o creezi pentru a fi folosită de WordPress. Urmează instrucțiunile din acest tutorial Tutsplus

AlexanderR AlexanderR
16 mai 2014 22:44:24
0

Acesta este o problemă veche pe care am uitat-o. Problema aici este că în meniul din stânga al phpMyAdmin a fost selectată o bază de date veche (adică sunt nou în gestionarea bazelor de date). Tabelul era deja în uz și, prin urmare, populat - acest mesaj de eroare apare deoarece phpMyAdmin a încercat să scrie pe prima linie, nu a putut (datele existau deja) și apoi a renunțat.

Pur și simplu creând o nouă bază de date și selectând-o nu numai că a rezolvat această problemă, dar a fost și modul corect de a face exact ceea ce doream. Din anumite motive, toate aceste răspunsuri presupun că nu sunt pur și simplu lipsit de experiență în gestionarea SQL-ului; o voi lua drept un compliment.

23 aug. 2014 15:37:28