0

我创建了以下表格(有更多属性,但它们与问题无关):

CREATE TABLE PathData(
    path_outer_id int,
    path_inner_id int,
    PRIMARY KEY(path_outer_id, path_inner_id)
);

CREATE TABLE Node(
    node_id int AUTO_INCREMENT,
    max_path_outer_id int,
    max_path_inner_id int,
    PRIMARY KEY(node_id)
);

并尝试使用以下命令连接它们:

ALTER TABLE Node ADD CONSTRAINT fk_1
FOREIGN KEY(max_path_outer_id) REFERENCES PathData(path_outer_id);

ALTER TABLE Node ADD CONSTRAINT fk_2
FOREIGN KEY(max_path_inner_id) REFERENCES PathData(path_inner_id);

但是,虽然 fk_1 工作,但 fk_2 导致无法添加外键约束错误,我不知道为什么,因为它与 fk_1 所做的完全相同,除了其他属性。我试过搜索导致这种情况的原因,但我似乎找不到任何类似的东西。

我认为这可能与 inner_id 在outer_id 之后被声明为PK 有关,但这似乎不合逻辑。

4

0 回答 0