Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes 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 06/10/2011, 13h33   #1
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 2
Points : 2
Par défaut Contrainte : parent key utilisée ?

Bonjour,

J'ai une table "fichier" dans ma bdd ( mysql innoDB ) qui me permet d'identifier un fichier sur le serveur.

Dans d'autres tables, je crée une clef étrangère afin de pouvoir référencer ce fichier ( 1 seul fichier pour plusieurs utilisations )

Grâce au contraintes l'effacement du fichier n'est pas possible car une clause ON DELETE RESTRICT l'empèche.

Je souhaite tout de même pouvoir exécuter une requête qui me permet d'effacer les lignes de ma table fichier qui ne sont pas utilisées ( donc qui n'ont pas d'enfant )

Je souhaite faire ça proprement, et non faire un delete qui génere une erreur à cause de la contrainte.

Donc en résumé, comment savoir si la clef de l'enregistrement est utilisé comme clef étrangère ?

Merci
pixman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 14h10   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 327
Points : 18 327
Envoyer un message via MSN à CinePhil
Sauf erreur de ma part, ON DELETE RESTRICT ne déclenchera une erreur justement que si la valeur supprimée est référencée dans une clé étrangère. Autrement dit, si plus aucune clé étrangère ne référence le fichier X, tu devrais simplement pouvoir supprimer le fichier X, même avec la contrainte ON DELETE RESTRICT.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h58.


 
 
 
 
Partenaires

Hébergement Web