如何在两个不同的数据库之间的mysql中设置外键?

时间:2013-08-08 04:59:24

标签: mysql database

我有一个数据库A和数据库B.在数据库A中,我将company_id设置为主键。在数据库B中,我必须设置相同的company_id作为参考。是否可以将B.company_id设置为外键?如果是,则表示如何将此B.company_id设置为外键?

3 个答案:

答案 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)