Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils 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 04/11/2004, 19h38   #1
Membre actif
 
Avatar de rozwel
 
Inscription : mars 2002
Messages : 324
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 324
Points : 165
Points : 165
Par défaut [InnoDB] Contrainte bidirectionnelle empêche vidage ?

Bonjour,

J'ai utilisé PowerAMC pour concevoir d'abord un MCD puis un MPD et générer le script de création de ma base.
Par défaut les tables créées sont de type InnoDB et je crois avoir compris que c'est cet aspect qui m'empêchait de vider mes tables.
En effet sur deux paires de mes tables, j'ai des relations de type [0,1]->[1,1] qui se sont traduites par une référence bidirectionnelle (A est référencé dans B et B dans A), ce qui, cumulé à la contrainte de clé étrangère, m'empêche de vider mes tables (après mes phases de tests, je veux virer les données de test pour passer en exploitation).
Quand j'essaie (par l'intermédiaire de phpMyAdmin) de vider une il me dit qu'une contrainte de clé étrangère l'empêche de le faire, et vice-versa.

Ma question est de savoir si je dois utiliser obligatoirement une transaction pour vider mes deux tables simultanément ? si oui comment s'implémente une transaction en SQL ou dans phpMyAdmin ? vaudrait-il mieux que je passe toutes mes tables en MyISAM au risque que cette contrainte conceptuelle ne soit pas aussi bien implémentée ? et dans ce cas quelqu'un pourrait il m'aider à localiser l'endroit dans PowerAMC où l'on peut spécifier le type de tables à générer ?

Merci beaucoup par avance pour toute réponse ne serait-ce qu'à l'une de ces questions.

rozwel
rozwel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2004, 22h55   #2
Membre habitué
 
Avatar de bartrik
 
Inscription : novembre 2003
Messages : 105
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 105
Points : 111
Points : 111
tu peux avec la commande SQL :
Code :
SET FOREIGN_KEY_CHECKS=0
faire que les contraintes de clés étrangères soient ignorées
et
Code :
SET FOREIGN_KEY_CHECKS=1
pour tout remettre.
bartrik est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/11/2004, 00h17   #3
Membre actif
 
Avatar de rozwel
 
Inscription : mars 2002
Messages : 324
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 324
Points : 165
Points : 165
Merci beaucoup
rozwel 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 10h01.


 
 
 
 
Partenaires

Hébergement Web