2010-10-11 11 views

Respuesta

46

I no ven ninguna limitación en http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html.

Así que simplemente use otherdb.tableta y será bueno.

+0

No se pudo hacer funcionar para MariaDB 10.0.30 aunque ... – Code4R7

+1

@ Code4R7 Asegúrese de que las tablas usen el mismo motor, como en la [documentación] (https://mariadb.com/kb/en/library/foreign teclas situadas a /): "_El los padres y la tabla secundaria deben utilizar el mismo motor de almacenamiento [...]" _ para cambiar el motor de mesa, 'ALTER TABLE mOTOR mi_tabla = InnoDB;' Trabajó para MariaDB 10.1.16 . – iloo

14

Es posible: Link to do it

Ejemplo (Tabla 1 está en database1 y HelloTable está en database2):

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

+1 hay que añadir que si además de la relación, había resumido el contenido de el enlace en la respuesta aquí, ¡sería un poco más útil! – InSane

+3

-1 Un enlace no es suficiente, la respuesta debe contener más información (explicación o ejemplo). – automatix

3

A continuación se muestra cómo agregar una clave externa en la tabla t2, la referencia de db1.historial mesa (codh):

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