【发布时间】:2015-11-03 10:03:02
【问题描述】:
在以下示例中:
table1 (id, f1, f2)
table2 (id, f3, f4)
related_table(id, table1_id, table2_id)
我有 2 个表和一个具有 HasAndBelongToMany 关系的相关表。(注意到我使用的结构适用于 ORM)。
当我使用两个外键创建多列索引时出现问题:
CREATE UNIQUE INDEX i1
ON related_table (table1_id, table2_id)
然后,我可以添加 table1_id 关系,但我不能添加 table2_id 关系。 Mysql 说我没有 table2_id 列的任何索引。这是为什么呢?
假设如果你创建一个多列索引,使用这个索引你可以通过两个字段中的任何一个进行搜索。
【问题讨论】:
-
你能把你的table1、table2和相关表的表信息也发布一下吗?您是否有一些引用 table1 和 table2 的外键约束?