2010-10-11 10 views

Répondre

46

Je ne vois aucune limitation http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html.

Alors utilisez simplement otherdb.othertable et vous serez bien.

+0

Impossible de le faire fonctionner pour MariaDB 10.0.30 si ... – Code4R7

+1

@ Code4R7 Assurez-vous que les tables utilisent le même moteur, que par la [documentation] (https://mariadb.com/kb/fr/library/foreign -Les clés /): "_La parent et la table des enfants doivent utiliser le même moteur de stockage [...]" _ pour changer le moteur de table, 'ALTER TABLE my_table mOTEUR = InnoDB;' A travaillé pour MariaDB 10.1.16 . – iloo

14

Il est possible: Link to do it

Exemple (tableau 1 est en database1 et HelloTable est en database2):

ALTER TABLE Table1 
ADD foreign key FK_table1(ColumnNameFromTable1) 
REFERENCES db2.HelloTable(ColumnNameFromHelloTable) 
+11

+1 faut ajouter que si en plus le lien, vous avait résumé le contenu de le lien dans la réponse ici, serait un peu plus utile! – InSane

+3

-1 Un lien ne suffit pas, la réponse doit contenir plus d'informations (explication ou exemple). – automatix

3

est ci-dessous comment ajouter une clé étrangère sur la table t2, référence de la table db1.historial (CODH):

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