Внешний ключ MySQL InnoDB между различными базами данных - PullRequest
59 голосов
/ 11 октября 2010

Я хотел бы знать, возможно ли в InnoDB в MySQL иметь table с внешним ключом , который ссылается на другую таблицу в другом database?

И если да, то как это можно сделать?

Ответы [ 3 ]

56 голосов
/ 11 октября 2010

Я не вижу никаких ограничений на http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html.

Так что просто используйте otherdb.othertable и все будет хорошо.

19 голосов
/ 11 октября 2010

Возможно: Ссылка для этого

Пример (Таблица1 находится в базе данных1, а HelloTable находится в базе данных2):

ALTER TABLE Table1 
ADD foreign key FK_table1(ColumnNameFromTable1)
REFERENCES db2.HelloTable(ColumnNameFromHelloTable)
4 голосов
/ 09 сентября 2014

Ниже описано, как добавить внешний ключ в таблицу t2, ссылка на таблицу db1.historial (codh):

alter table t2
add foreign key FK_t2(micod2)
    references db1.historial(codh)
    on delete cascade
    on update cascade;
...