您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将组合键中的列之一用作外键

将组合键中的列之一用作外键

正如有关外键的MysqL文档所指出的那样

InnoDB允许外键引用任何索引列或列组。但是,在被引用的表中,必须有一个索引,其中被引用的列以相同的顺序列为第一列。

NDB在引用为外键的任何列上都需要一个显式的唯一键(或主键)。

因此,如果您使用innodb,则MysqL不允许您在不是索引最左边字段的字段上创建外键。

原因是在多列索引中,您不能基于不是最左边的字段来查找值,因此该索引不能用于快速查找外键检查的值。

MysqL索引的这种行为在有关多列索引MysqL文档中进行了描述:

如果列不构成索引的最左前缀,则MysqL无法使用索引来执行查找。

其他 2022/1/1 18:32:53 有505人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶