Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2012, 11h16   #1
Invité de passage
 
Inscription : janvier 2012
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 3
Points : 1
Points : 1
Par défaut Importation MySQL

Salut à vous,
Suite a une erreur de ma part, ma base de donnés MySQL s'est retrouvée vidée en partie. Heureusement, j'avais prévu le coup et j'ai un backup au format SQL sous la main.

Mon forum et mon site sont stockés sur la même base de donnés, j'ai donc des tables wp_* et mybb_* sur la même base.
Seules les tables mybb_* ont été vidées. Elles existent toujours, mais contiennent les donnés par défaut de MyBB... J'ai donc ouvert mon fichier de backup (Notepad++), et ai effacé toutes les infos sur les tables wp_*.
Dans PHPMyAdmin, je cliques sur "importation". Problème, la database est trop grosse. Je la scinde donc en deux, en copiant bien sûr l'en tête dans chacune.
Je ré-upload, MySQL me trouve une erreur: La table existe déja. Je modifies donc l'en tête de mes fichiers pour y mettre
Code :
CREATE DATABASE [...] IF NOT EXIST
au lieu de Et là, MySQL me dit ça:

Code :
1
2
3
4
-- -- Contenu de la table `mybb_templategroups` -- INSERT INTO `mybb_templategroups` (`gid`, `prefix`, `title`) VALUES (1, 'calendar', ''), (2, 'editpost', ''), (3, 'forumbit', ''), (4, 'forumjump', ''), (5, 'forumdisplay', ''), (6, 'index', ''), (7, 'error', ''), (8, 'memberlist', ''), (9, 'multipage', ''), (10, 'private', ''), (11, 'portal', ''), (12, 'postbit', ''), (13, 'redirect', ''), (14, 'showthread', ''), (15, 'usercp', ''), (16, 'online', ''), (17, 'moderation', ''), (18, 'nav', ''), (19, 'search', ''), (20, 'showteam', ''), (21, 'reputation', '')[...]
 
MySQL a répondu:
#1062 - Duplicate entry '1' for key 1
Je ne sais plus quoi faire... Une idée?
Le_minaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h29   #2
Membre éclairé
 
Avatar de hariman
 
Homme Luc Hariman RANDRIANOMENJANAHARY
Développeur Java
Inscription : janvier 2008
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Luc Hariman RANDRIANOMENJANAHARY
Localisation : Ile Maurice

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2008
Messages : 175
Points : 349
Points : 349
Envoyer un message via MSN à hariman Envoyer un message via Skype™ à hariman
Bonjour,

Cet erreur est causé par l'insertion de données redondantes. Je pense que la ligne (1, 'calendar', '') existe déjà dans ta base.
Code :
1
2
3
 
INSERT INTO `mybb_templategroups` (`gid`, `prefix`, `title`)
VALUES (1, 'calendar', ''), (2, 'editpost', ''), ...
Or la colonne 'gid' est la clé de la table 'mybb_templategroups', d'où l'insertion de cette ligne provoque l'erreur.
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
hariman est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/01/2012, 11h34   #3
Invité de passage
 
Inscription : janvier 2012
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 3
Points : 1
Points : 1
Absolument, elle existe déja.
Il n'y a pas moyen d'écraser les anciennes lignes, afin de remplacer les existantes par les nouvelles?

Sinon, je peux les supprimer manuellement... mais quelle commande exécuter? Vider ou Supprimer?
En tous cas, merci !
Le_minaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 13h24   #4
Membre du Club
 
Inscription : août 2009
Messages : 66
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 66
Points : 69
Points : 69
Si tu souhaite vider toutes tes tables pour les remplir par les nouvelles données, je te conseille d'exécuter pour chaque table la requête :

Code :
1
2
 
TRUNCATE TABLE table_name ;
NicoD. est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/01/2012, 14h04   #5
Invité de passage
 
Inscription : janvier 2012
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 3
Points : 1
Points : 1
D'accord, merci beaucoup.
Je teste ça de suite!


---EDIT---
Merci, ça marche!
Le_minaw est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h13.


 
 
 
 
Partenaires

Hébergement Web