Je voudrais savoir s'il est possible dans InnoDB dans MySQL
d'avoir un table
avec clé étrangère qui fait référence à une autre table dans un autre database
?
Et si oui, comment cela peut-il être fait?
Je ne vois aucune limitation sur http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html .
Il suffit donc d'utiliser otherdb.othertable et vous serez bon.
C'est possible: Lien pour le faire
Exemple (Table1 est dans database1 et HelloTable est dans database2):
ALTER TABLE Table1
ADD foreign key FK_table1(ColumnNameFromTable1)
REFERENCES db2.HelloTable(ColumnNameFromHelloTable)
Voici comment ajouter une clé étrangère sur le tableau t2, référence du tableau db1.historial (codh):
alter table t2
add foreign key FK_t2(micod2)
references db1.historial(codh)
on delete cascade
on update cascade;