Mon hôte partagé n'autorise pas l'accès SSH. J'essaie d'exporter une base de données à l'aide de PhpMyAdmin et d'importer sur un nouveau serveur. Je continue à obtenir cette erreur et je ne suis pas sûr de la réparer. Toute aide est appréciée.
Error SQL query: -- -- Indexes for dumped tables -- -- -- Indexes for table `EWRporta_blocks` -- ALTER TABLE `EWRporta_blocks` ADD PRIMARY KEY ( `block_id` ) , ADD KEY `title` ( `title` ) ; MySQL said: Documentation #1068 - Multiple primary key defined
3 Réponses :
Comme d'autres l'ont dit, déposez et recréez les tables. En phpmyadmin, sélectionnez la case à cocher «Ajouter une table Drop» lorsque vous effectuez l'exportation. Ensuite, la question décrite doit être résolue à l'importation. P>
J'ai rencontré ce problème plusieurs fois et Modonoghue a un moyen valide de la manipuler en laissant tomber vos tables et de les recréer complètement. p>
En gros, ce qui se passe, c'est que vous essayez d'exécuter des instructions insertion qui inséraient des valeurs dans des clés primaires qui existent déjà - vous donnant ainsi une erreur de touches en double. La base de données n'a aucune idée de la manière de gérer plusieurs entrées avec la même clé, car SQL Logic est basé sur toutes les "lignes" ayant une clé primaire totalement unique. P>
Qu'est-ce que vous Lorsque vous importez, toutes les données existantes seront supprimées de chaque table (tronquée) et toutes les données exportées seront écrites dans les tableaux (insertion) mais les tables elles-mêmes ne seront pas supprimées (goutte). p>
Vous devriez pouvoir sauter l'étape 3 ci-dessus (tronquée) et sélectionner la case à cocher "Au lieu d'insérer des instructions d'utilisation ..." "Insert Ignorer les instructions" p>
Fondamentalement, "Ignorer" saute simplement les duplicats dans vos données exportées et vous empêche de devoir supprimer vos données existantes. C'est bon si vous souhaitez simplement ajouter des données perdues, sans supprimer des données modifiées / ajoutées depuis la dernière exportation. P>
Il y a aussi un insert dans ... sur la mise à jour de clé en double ... qui vous permet de dire à la requête exactement quoi faire s'il y a une clé en double. Cela vous empêche de simplement ignorer deux entrées avec des clés identiques qui peuvent ne pas être des entrées identiques. Il est plus compliqué de configurer correctement, cependant. P> Une méthode pour exporter une base de données spécifique (tronquée): h1>
Ignorer vs tronquage (itinéraire alternatif) h1>
superutilisateur (sur la mise à jour de la clé en double) h1>
Supprimer le commentaire généré par l'outil d'exportation et essayez d'exécuter la requête comme suit uniquement p> alter Table ewrdortta_blocks code> Ajouter une clé primaire (< code> block_id code>),
Ajouter une clé
titre code> (
titre code>); p> p>
essayé d'utiliser la ligne de commande? C'est plus sûr et est juste une commande ligne. Vous pouvez trouver beaucoup de documents sur eux. C'est plus rapide aussi.
Je n'ai pas accès sur mon hôte partagé.
Il y a toujours une manière. Demandez à votre hôte. Comprendre pour obtenir l'accès à la ligne de commande.
Il y a un problème similaire posté et répondit à: Stackoverflow.com/Questtions/28336162/...
Stackoverflow.com/Questtions/16696899/... ... Voir si cela aide. Il a une réponse aussi!
@Theshadyonehd Si vous avez un problème avec les données exportation i>, ignore la réponse de Apul Gupta sur la base de données d'abandon de la base de données et les tables qui déposent, il a été copié à partir d'une question où il y avait un problème avec importer i>. Si vous avez fait ce qu'il suggère, cela supprimerait vos données.
Quelle version phpmyadmin?
Déposez vos touches principales avant l'exportation et ajoutez-les une fois que vous avez terminé.
Je pense que vous devez supprimer vos clés principales précédentes et réessayer. d'accord avec @alextartan