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 07/03/2011, 09h08   #1
Membre actif
 
Homme Mathieu
Inscription : avril 2008
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme Mathieu
Âge : 24
Localisation : France

Informations forums :
Inscription : avril 2008
Messages : 125
Points : 157
Points : 157
Par défaut Ordre génération "insert" pour un export dans phpmyadmin

Bonjour à tous !

J'utilise une base de données en innoDb avec des clefs étrangères pour, entre autre, des listes et des lignes de liste (dans dans la table des lignes de liste se trouve une clef étrangère vers la liste).

Les problème est que, lors de mes exports de données dans PhpMyAdmin, ce dernier effectue d'abord l'export des lignes de liste puis celle des liste. Exemple de code généré :

Code :
1
2
3
4
5
 
INSERT INTO `lignesliste` (`Id`, `Liste`, `Quantite`) VALUES
(138, 1, 28);
INSERT INTO `listes` (`Id`, `Nom`) VALUES
(1, 'NomListe1');
Le problème est donc que lors de l'import de ce fichier généré, PhpMyAdmin gueule (avec raison) que la clef étrangère de la ligne de la liste ne trouve pas la liste dans la table des listes.

Savais-vous comment faire un export en respectant l'ordre d'insertion selon les clefs étrangères ? Car la j'en suis à éditer le fichier créé (pour faire passer l'insertion de la liste avec celles des lignes).

Merci !
matpush est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 12h03   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
phpmyadmin ne fait pas un "dump" comme mysqldump mais émule la fonctionnalité.

Que faire??? pas grand chose sinon faire un peu de traitement de fichier automatisé pour lire les bonnes tables en premier (grep ou expression réguliere...)

ou sinon ya la solution "magique" du Disable foreign key checks, ça consiste à désactiver les contraintes pendant l'insertion des lignes (ça c'est souvent bon pour les perf) et les réactiver ensuite (bon ça c'est pas gratuit).
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 13h53   #3
Membre actif
 
Homme Mathieu
Inscription : avril 2008
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme Mathieu
Âge : 24
Localisation : France

Informations forums :
Inscription : avril 2008
Messages : 125
Points : 157
Points : 157
Ok, merci de tes remarques et idée !
matpush 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 17h44.


 
 
 
 
Partenaires

Hébergement Web