gpt4 book ai didi

mysql - 如何在不引用父级的情况下对子级进行级联删除

转载 作者:行者123 更新时间:2023-11-29 10:51:16 25 4
gpt4 key购买 nike

是否可以将删除上的行的级联删除应用于此MySQL架构?

CREATE TABLE parent (
id INTEGER,
specialChildrenId INTEGER,
PRIMARY KEY (id)
)

-- Always 1:1 related to whatever references it
-- (not necessarily referenced by parent)
CREATE TABLE child (
id INTEGER,
PRIMARY KEY (id)
)

我无法将 child 的引用放到 parent 中,因为在我的应用程序中,child 可以与parent 或与另一个完全不同的表 1:1 相关。

最佳答案

您可以在两个(或更多)父表上添加触发器,以在删除之前删除子行,如下所示:

delimiter |

CREATE TRIGGER tr_parent_delete BEFORE DELETE ON parent
FOR EACH ROW
BEGIN
DELETE FROM child WHERE id = OLD.specialChildrenId;
END;
|

delimiter ;

关于mysql - 如何在不引用父级的情况下对子级进行级联删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43686569/

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