web-dev-qa-db-ja.com

異なるデータベース間のMySQL InnoDB外部キー

InnoDBのMySQLで、別のtableの別のテーブルを参照する外部キーdatabaseを使用できるかどうかを知りたいのですが。

もしそうなら、どのようにこれを行うことができますか?

61
Alaa

http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html に制限はありません。

したがって、otherdb.othertableを使用するだけで十分です。

58
BarsMonster

可能です: それを行うためのリンク

例(Table1はdatabase1にあり、HelloTableはdatabase2にあります):

ALTER TABLE Table1 
ADD foreign key FK_table1(ColumnNameFromTable1)
REFERENCES db2.HelloTable(ColumnNameFromHelloTable)
20
Spilarix

以下は、テーブルt2に外部キーを追加する方法で、テーブルdb1.historial(codh)からの参照です。

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