Création
d'entreprise
Posez votre question Signaler

[SQL] Faire une suppresion en cascade

drizzt40 104Messages postés 11 juin 2004Date d'inscription - Dernière réponse le 6 janv. 2011 à 09:09
Quelqu'un saurait-il comment je peux faire un DELETE en cascade ou avec la contrainte DELETE ON CASCADE.

=}- The_Str@nger -{=
Lire la suite 

[SQL] Faire une suppresion en cascade »

11 réponses
Réponse
+20
moins plus
Bonjour,

Moi je l'utilise dans la création de mes tables, voici un exemple:

CREATE TABLE piForum (
foID NUMERIC(4) NOT NULL PRIMARY KEY,
foLoID NUMERIC(4) NOT NULL,
foMessage VARCHAR(255),
foEtoiles NUMERIC(1),
INDEX ind_LoID (foLoID),
CONSTRAINT fkForum FOREIGN KEY (foLoID) REFERENCES piLogiciels(loID) ON DELETE CASCADE
) TYPE=INNODB;

Dans cet exemple, lorsqu'on logiciel est supprimé, les messages du forum sur ce logiciel sont suprimés avec on delete cascade.

Il te faut des contraintes de clés étrangères pour que ça fonctionne.

La syntaxe pour ajouter ta contrainte si tu n'en a pas:
ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) ON DELETE CASCADE

J'espère que ça va t'aider

Vive le Québec libre! Et oui, je suis québécoise...
Ajouter un commentaire
Réponse
+5
moins plus
Si tu ne peux ou ne veux pas modifier la structure des tables pour gérer des contraintes réfentielles tu ne peux pas faire de delete cascade.
Donc sera à la main. Le plus propre serais d'ajouter un trigger on delete sur la table maitre mais c'est déjà modifier la structure des tables.
Ajouter un commentaire
Réponse
+0
moins plus
Slt,
qu'appelle tu un delete en cascade ?
Ajouter un commentaire
Réponse
+0
moins plus
Une suppression qui force la suppression des enregistrements faisant référence a cette table (Foreign Key)

=}- The_Str@nger -{=
Ajouter un commentaire
Réponse
+0
moins plus
Je crois que je vois a peu près ce que tu veut dire mais désolé je ne sais pas comment faire
Ajouter un commentaire
Réponse
+0
moins plus
Je sais qu'on pourrait faire un ALTER TABLE pour modifié la contrainte d'intégrité responsable de ca et mettre ON DELETE CASCADE. Mais si on ne veut pas modifié la table....commment faire ?

=}- The_Str@nger -{=
Ajouter un commentaire
Réponse
+0
moins plus
Malheureusement non, mais merci quand meme. Il faut que je me débrouille sans modifier les tables ni les contraintes

=}- The_Str@nger -{=
Ajouter un commentaire
Réponse
-11
moins plus
coment on peux suprimer un colonne dans une table exite
Antediluvien - 21 juil. 2009 à 14:49
Bonjour, s'il vous plaît, merci.

De rien.
Ajouter un commentaire
Réponse
-17
moins plus
coment on peux suprimer un colonne dans une table exite
jean - 6 janv. 2011 à 09:09
Bonjour, s'il vous plaît, merci.

De rien.
Ajouter un commentaire
Ce document intitulé « [SQL] Faire une suppresion en cascade » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?