gpt4 book ai didi

mysql - MySql 中多对多关系中的不希望的删除

转载 作者:行者123 更新时间:2023-11-30 23:27:40 24 4
gpt4 key购买 nike

有一个类似的问题here但它没有帮助

我在 Organisme 之间有一个经典的多对多关系 | Organisme_groupe | | 集团

我想在删除 Groupe 时保留 Organisme,反之亦然。实际上,如果我删除 Organisme,附加的 Groupe 也会被删除。

我有点困惑,因为据我了解,级联操作不会比子表(这里是中间表)走得更远。

有机体

  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 ;

集团

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 ;

有机组织

 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 ;

约束

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;

最佳答案

MySql 映射是 coorect,问题是我在 Hibernate 模型中添加了 Cascading 注释,这似乎覆盖了 MySQL 约束

关于mysql - MySql 中多对多关系中的不希望的删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12398214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com