Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 01/04/2008, 11h07   #1
Membre confirmé
 
Inscription : mai 2006
Messages : 418
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 418
Points : 254
Points : 254
Par défaut Problème de clé étrangère

Bonjour,
j'ai 2 tables :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
CREATE TABLE Pays
(
id int,
Nom varchar(250),
PRIMARY KEY(id)
);
CREATE TABLE Region
(
id int,
Nom varchar(250),
pays int,
PRIMARY KEY(id)
);
ALTER TABLE Region ADD constraint FK1 FOREIGN KEY (pays)
      REFERENCES Pays (id) ON DELETE restrict ON UPDATE restrict;
le problème c'est que si je supprime tous les enregistrements de la table pays la suppression s'effectue en ne tenant pas compte de la clé étrangère??
merci d'avance.
mehdiing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 11h23   #2
Membre éprouvé
 
Avatar de SphynXz
 
Développeur Web
Inscription : mars 2008
Messages : 439
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2008
Messages : 439
Points : 474
Points : 474
en clair :

ON DELETE restrict ON UPDATE restrict;
ON DELETE no action ON UPDATE no action;
revient à ne mettre aucune clause ON DELETE & ON UPDATE,
car vous ordonnez à votre table de ne rien faire en cas de suppression ou de modification

Code :
1
2
ALTER TABLE Region ADD constraint FK1 FOREIGN KEY (pays)
      REFERENCES Pays (id) ON DELETE restrict ON UPDATE restrict;
=

Code :
1
2
ALTER TABLE Region ADD constraint FK1 FOREIGN KEY (pays)
      REFERENCES Pays (id)
solution :

Code :
1
2
ALTER TABLE Region ADD constraint FK1 FOREIGN KEY (pays)
      REFERENCES Pays (id) ON DELETE cascade ON UPDATE cascade;
__________________
I don't know what will be used in the next world war, but the 4th will be fought with stones. - Albert Einstein
Pour détourner un avion, il faut monter dedans - Frédéric beigbeder
SphynXz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 12h18   #3
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Bonjour,

j'ai par ailleurs écrit un article qui traite de ce sujet que je te conseil de lire :
http://alain-defrance.developpez.com/articles/SGBD/constraint/
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com
Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
Project Lead eXo Social
Java Black Belt - Java Black Belt Coach
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2008, 15h12   #4
Membre confirmé
 
Inscription : mai 2006
Messages : 418
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 418
Points : 254
Points : 254
Bonjour,
Merci pour vos réponses.
mehdiing 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 19h05.


 
 
 
 
Partenaires

Hébergement Web