从多个表引用一个外键

时间:2018-05-13 21:23:35

标签: mysql sql

我试图从多个表的主键连接一个外键。像这样:

enter image description here

我试过了:

ALTER TABLE Table1 ADD CONSTRAINT entity FOREIGN KEY (entity_id)
    REFERENCES MainTable(entitiy_id);

ALTER TABLE MainTable 
    ADD FOREIGN KEY (entity_id) REFERENCES Table1(id),Table2(id),Table3(id); 

我该怎么办? 感谢。

1 个答案:

答案 0 :(得分:0)

你想要在这里实现目标并不是很清楚。 外键应来自" child"的非键列。 table到引用表的键列。

在你的图表中,我希望Table,Table2和Table3中的每一个都有一个列" parent_id",并且在每一个中都添加一个外键,它来自&#34 ; PARENT_ID"列到MainTable的键。

那就是说,代码是

ALTER TABLE Table1     ADD COLUMN parent_id INT NULL;

ALTER TABLE Table1 ADD CONSTRAINT fk_table1 FOREIGN KEY(parent_id)     参考MainTable(uniqueId);