gpt4 book ai didi

sql-server - 当子表通过外键与父表连接时,我们如何从父表中删除一行

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

大家好,我在尝试从父表中删除一行时遇到问题,实际上我创建了 2 个表客户和帐户。我在客户中创建客户 ID(主键),在帐户中创建客户 ID(forigen 键) .创建它后,我在两个表中都填充了数据。在这一点上,当我试图从第一个表(客户)中删除一行时,它给出的失败消息是它不能被删除 bcs 它被引用为 forigen 键之类的东西………… ...但是当我们从帐户表中删除行时,它会完全删除成功。..........如果我从父表(客户)中删除一行,那么它在子表中具有相同客户 ID(帐户表)的行将自动删除......我想像这样工作...... .....

最佳答案

注意级联删除!用户会不小心点击应用程序的小垃圾桶图标并删除客户,然后所有级联将从您的数据库中删除该客户、订单、发票、付款、历史记录等的所有痕迹。在用户打电话告诉您他们的错误后,您必须恢复备份并尝试将信息拉回数据库。

我会研究“软删除”,您只需将客户的状态从“活跃”更改为“不活跃”。行不会被删除,保留所有外键数据。这允许在数据上运行报告,因为它仍然存在,并且很容易“撤消”。

软删除并不是结束所有唯一的方法,它是关于如何处理、清除数据或将其标记为非事件的业务决策。那只是您可以决定的事情,因为我不知道您的应用程序或业务逻辑。我只是想我会提供它作为替代方案。

关于sql-server - 当子表通过外键与父表连接时,我们如何从父表中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3574290/

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