gpt4 book ai didi

sql - 如何级联/删除这个场景?出现多重级联错误

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:54 25 4
gpt4 key购买 nike

请看下图: Diagram

这一切都与如果用户被删除有关。

1.如果一个用户被删除,并且该用户有一个线程。线程将被删除。
2. 如果用户没有主题,但有帖子,帖子将被删除。
3. 如果一个线程被删除,该线程上的所有帖子都将被删除。

我尝试级联 User->Thread、User->Post、Thread->Post。但是,我得到这个异常: Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths。指定删除时不执行任何操作。

我有点理解这个错误。如果一个用户被删除,线程和帖子都会被删除,所以当线程被删除时,它会尝试级联帖子,这个帖子已经被用户级联了。 (这样对吗?)

那么如果以上是真的,我该如何解决呢?

最佳答案

还有一个替代解决方案,当 PK 被删除时,您必须将 FK 设置为空,如下所示。在关系中有一组Table Designer,在其下的Insert and Update specification选项中,您会找到Delete Rule,将其设置为NULL。

这意味着在您的场景中,当用户在线程表 user_account_id 列值替换为 NULL 并且在 post 表 user_account_id 列值替换为 NULL。当您删除任何线程时,它也会影响帖子表和列 user_account_id 值将替换为 NULL

enter image description here

关于sql - 如何级联/删除这个场景?出现多重级联错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48760016/

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