我有一个数据库A和数据库B.在数据库A中,我将company_id设置为主键。在数据库B中,我必须设置相同的company_id作为参考。是否可以将B.company_id设置为外键?如果是,则表示如何将此B.company_id设置为外键?
答案 0 :(得分:4)
表之间的任何关系都限制在模式中。您无法在两个不同的模式中的两个不相关的表之间定义外键约束。如果您确实需要这样做,那么您需要重新考虑您的数据库设计。
答案 1 :(得分:0)
请参阅这个几乎重复的项目。可以在同一MySQL数据库服务器上的不同模式(有时称为"数据库")之间使用外键。 MySQL InnoDB foreign key between different databases
答案 2 :(得分:0)
假设Table2属于模式B,而Table1属于模式A,并且都具有company_id
ALTER TABLE B.Table2
ADD foreign key B_company_id(company_id)
REFERENCES A.Table1(company_id)