Il y a une question similare here mais il n'a pas aidéIndésirable supprimer dans un grand nombre à plusieurs dans les MySql
J'ai un classique plusieurs à plusieurs entre Organisme
| Organisme_groupe
| Groupe
. Je souhaite conserver Organisme
lors de la suppression de Groupe
et vice versa. En fait, si je supprime Organisme, le Groupe ci-joint est également supprimé.
Je suis un peu confus, parce que d'après ce que je comprends, l'action en cascade ne irait pas plus loin que la table enfant (qui est la table intermédiaire ici).
organization
CREATE TABLE IF NOT EXISTS `organisme` (
`ORGANISME_ID` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`TYPE_ORGANISME` varchar(128) NOT NULL DEFAULT '',
`NAME` varchar(80) DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Groupe
CREATE TABLE IF NOT EXISTS `groupe` (
`GROUPE_ID` int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`NAME_GROUPE` varchar(50) NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Organisme_groupe
CREATE TABLE IF NOT EXISTS `organisme_groupe`(
`ORGANISME_ID` int(10) NOT NULL,
`GROUPE_ID` int(10) NOT NULL,
PRIMARY KEY (ORGANISME_ID, GROUPE_ID)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Les contraintes
ALTER TABLE `organisme_groupe`
ADD CONSTRAINT `FK_organisme_groupe_1` FOREIGN KEY (`ORGANISME_ID`) REFERENCES `organisme` (`ORGANISME_ID`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `FK_organisme_groupe_2` FOREIGN KEY (`GROUPE_ID`) REFERENCES `groupe` (`GROUPE_ID`) ON DELETE CASCADE ON UPDATE CASCADE;
Voulez-vous dire: Quand supprimer 'organisme', supprimer' organisme_groupe', mais garder 'groupe' . Lorsque vous supprimez 'groupe', supprimez' organisme_groupe', mais gardez 'organisme'. – mikespook
Oui c'est correct – outellou
Votre compréhension est correcte. La définition de votre schéma est correcte. Cela devrait fonctionner comme vous l'avez indiqué, identique à la situation dans la question à laquelle vous avez lié. Pouvez-vous nous montrer la requête supprimant un Organisme qui supprime également certains Groupes? – aib