Messaggio di MySQL: #1062 - Duplicate entry 'comment_publish_action' for key 'PRIMARY'
Buongiorno a tutti, ho un problema con il trasferimento del sito da locale a remoto. Ho già caricato diversi siti nell'ultimo periodo ma non mi era mai capitato questo problema.
Io utilizzo drupal7, lavoro in locale con Xampp, trasferisco con Filezilla e il mio spazio web è su Aruba.
Le operazioni che ho fatto sono:
- commentare le varie righe di codice sui files .htaccess
- cambiare dati di host, nome utente, ecc su settings.php
- esportare il tutto con phpmyadmin
- importare il database sempre con phpmyadmin.
Quando importo il database su PhpMyAdmin però l'errore è il seguente:
Errore
Query SQL:
-- -- Dump dei dati per la tabella `tbl_actions` -- INSERT INTO `tbl_actions` (`aid`, `type`, `callback`, `parameters`, `label`) VALUES ('comment_publish_action', 'comment', 'comment_publish_action', '', 'Publish comment'), ('comment_save_action', 'comment', 'comment_save_action', '', 'Save comment'), ('comment_unpublish_action', 'comment', 'comment_unpublish_action', '', 'Unpublish comment'), ('node_make_sticky_action', 'node', 'node_make_sticky_action', '', 'Make content sticky'), ('node_make_unsticky_action', 'node', 'node_make_unsticky_action', '', 'Make content unsticky'), ('node_promote_action', 'node', 'node_promote_action', '', 'Promote content to front page'), ('node_publish_action', 'node', 'node_publish_action', '', 'Publish content'), ('node_save_action', 'node', 'node_save_action', '', 'Save content'), ('node_unpromote_action', 'node', 'node_unpromote_action', '', 'Remove content from front page'), ('node_unpublish_action', 'node', 'node_unpublish_action', '', 'Unpublis[...]
Messaggio di MySQL:
#1062 - Duplicate entry 'comment_publish_action' for key 'PRIMARY'
Avendo due siti da trasferire in remoto ho provato a ripetere l'operazione anche con l'altro..e mi da lo stesso errore. Quindi credo di aver fatto qualche errore di base con phpmyadmin. Potreste aiutarmi?

Risposte
Ciao, dall'errore sembra che
Ciao, dall'errore sembra che la tabella online tbl_actions già contenga i valori che stai cercando di importare. Se non sbaglio sull'interfaccia di esportazione di phpmyadmin ci sono dei flag per definire se effettuare il drop delle tabelle esistenti prima dell'importazione: prova ad utilizzarli e ad effettuare di nuovo l'importazione.
Alternativamente puoi provare a "svuotare" il db esistente sull'host remoto prima di importare i dati.
Ciao e grazie per la
Ciao e grazie per la risposta. Io tramite Filezilla ho svuotato completamente il sito prima di caricarlo di nuovo. Con altri siti non ho mai avuto problemi, e forse sto proprio sbagliando qualche passaggio elementare.
Dunque, io prima modifico le righe di codice sopra descritte, poi carico il sito in remoto. A quel punto esporto il database con phpmyadmin e dove lo vado a caricare? Sullo spazio mysql di aruba o devo riaccedere con phpmyadmin?
In ogni caso il problema ricorrente è che il trasferimento con Filezilla si blocca a metà, ma credo che sia la conseguenza di qualche mio errore. Forse mi sono saltato qualche passaggio banale e fondamentale perché mi sembra troppo strano, dato che mi esce lo stesso identico errore per due siti diversi che vorrei trasfire in remoto a due indirizzi differenti ovviamente.
spulciando tra i forum ho letto che potrebbero esserci problemi se ho creato il database con un nome e voglio caricarlo su uno spazio web con un nome diverso, però mi pare molto strano perché in precedenza ho già trasferito siti in remoto a cui avevo dato un nome diverso al database. Grazie in anticipo!
L'importazione dei dati del
L'importazione dei dati del db va fatta sempre dal pannello che Aruba ti mette a disposizione (phpmyadmin) oppure puoi utilizzare un modulo come backup_migrate con cui puoi fare dei backup locali, trasferirli via ftp assieme al sito e reimportarli in remoto.
Per quanto riguarda le interruzioni di connessione ftp è un pò difficile dire qualcosa: prova a vedere se il numero di trasferimenti contemporaneo è troppo alto tra le impostazioni di Filezilla e impostalo ad un massimo di 3. Magari può essere quello.