关于如何使用MySQL的外键构造有什么好的解释?我不太了解MySQL文档本身。到目前为止,我一直在通过联接和编程代码处理诸如外键之类的事情。问题的第二部分,使用MySQL的内置外键是否有任何改进?
3 回答
烙印99
TA贡献1829条经验 获得超13个赞
使用实际外键的主要好处是确保数据的完整性,并能够在修改或删除某些内容时对相关项目设置级联操作。
例如,假设您正在编程一个论坛。您有一个带有主键的“ topics”表topics.topic_id
,又有一个“ posts”表,其中的帖子通过column列附加到主题posts.topic_id
,这是topics表的外键。
这种外键关系确保每个帖子都附加到有效主题。如果您拥有的唯一主题的ID为#1,则不可能在数据库中存在与主题#2关联的帖子。数据库确保了这一点。
为了获得层叠的好处,您可以对其进行设置,以便在从主题表中删除主题时,数据库自动删除该主题所附的帖子表中的所有帖子。这很好,因为它消除了您必须记住要手动执行的步骤,当您将许多表链接在一起时,该步骤会变得非常复杂。使用外键可以自动清除所有关系。
神不在的星期二
TA贡献1963条经验 获得超6个赞
1.FOREIGN KEYS仅确保您的数据一致。
2.如果我们对外键定义应用删除级联,则在父行删除时引用行将自动删除。
3.如果对外键定义应用“更新级联”,则在父行更新时,子行将自动更新。
查询:ALTER TABLE子项ADD FOREIGN KEY(parent_id)参考parent(id)ON UPDATE CASCADE ON DELETE CASCADE;
您不能删除直接父表,首先要从子表中删除外键,而不要删除父表。
添加回答
举报
0/150
提交
取消