gpt4 book ai didi

database - MySQL 外键 : should i set it up?

转载 作者:搜寻专家 更新时间:2023-10-30 22:03:47 24 4
gpt4 key购买 nike

我需要为这种情况设置外键吗?我在数据库设计方面很薄弱,尤其是在 mysql 方面。我可以知道如果我想为他们设置外键,我应该为他们设置什么?如果人们删除...所有对 people_id 的引用将一起删除,是否可以在表太多时设置?谢谢回复

enter image description here

最佳答案

是的。外键约束强制执行参照完整性,这是确保数据可靠和高质量的关键原则。否则,您的 people_address 表可能会引用 people 表中不存在的 people_id 值,这将是一个孤儿。外键约束可以防止这种情况发生。

所以,就去做吧。确实没有充分的理由不这样做。

在 people_email 表上定义如下外键:

ALTER TABLE people_email ADD CONSTRAINT FOREIGN KEY (people_id) REFERENCES people (id) ON DELETE CASCADE;

这意味着您不能在 people_email 中输入记录,其中该表中的 people_id 在 people 中不存在。此外,如果您删除 people 中的父行,则 people_email 中引用它的行会自动删除。

我个人更喜欢手动删除子表中的所有行,而不是使用级联删除。这是一些额外的应用程序开发工作,但它让我感觉更安全,还允许我对锁定进行一些控制并确保查询尽可能高效。

关于database - MySQL 外键 : should i set it up?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5560712/

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