首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >外键可以引用非唯一索引吗?

外键可以引用非唯一索引吗?
EN

Stack Overflow用户
提问于 2009-02-26 01:29:54
回答 7查看 55.3K关注 0票数 49

我认为外键意味着单行必须引用单行,但我正在查看一些表,在这些表中,情况肯定不是这样的。Table1的column1对table2中的column2具有外键约束,但是在table2中有许多记录在column2中具有相同的值。在column2上也有非唯一索引。这是什么意思?外键约束是否仅仅意味着必须至少有一条记录在正确的列中具有正确的值?我认为这意味着必须有一个这样的记录(不确定null值如何适合图片,但我目前不太关心这一点)。

更新:显然,这种行为是特定于MySQL的,这就是我使用的,但我在最初的问题中没有提到它。

EN

Stack Overflow用户

发布于 2009-02-26 02:02:25

是的,基本上您可以为任何表中的任何列创建外键。不过,大多数情况下,您会将它们创建为主键。

如果您确实使用了不指向主键的外键,那么出于性能的考虑,您可能还希望为被引用的列创建一个(非唯一)索引。

这取决于您正在使用的RDBMS。我认为有些人隐含地为你做了这件事,或者使用了一些其他的技巧。RTM。

票数 3
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/588741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档