Vorrei sapere se è possibile in InnoDB in MySQL
di avere un table
con estera chiave che fa riferimento a un altro tavolo in un diverso database
?MySQL InnoDB chiave esterna tra le diverse banche dati
E se sì, come si può fare?
Vorrei sapere se è possibile in InnoDB in MySQL
di avere un table
con estera chiave che fa riferimento a un altro tavolo in un diverso database
?MySQL InnoDB chiave esterna tra le diverse banche dati
E se sì, come si può fare?
non vedo alcuna limitazione http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html.
Quindi basta usare otherdb.othertable e sarete a posto.
E 'possibile: Link to do it
Esempio (Tabella 1 è in Database1 e HelloTable è in database2):
ALTER TABLE Table1
ADD foreign key FK_table1(ColumnNameFromTable1)
REFERENCES db2.HelloTable(ColumnNameFromHelloTable)
Di seguito è come aggiungere una chiave esterna sulla tabella T2, riferimento dal tavolo db1.historial (codh):
alter table t2
add foreign key FK_t2(micod2)
references db1.historial(codh)
on delete cascade
on update cascade;
Non riesco a farlo funzionare per MariaDB 10.0.30 però ... – Code4R7
@ Code4R7 Assicurati che le tabelle utilizzino lo stesso motore, come per [documentazione] (https://mariadb.com/kb/en/library/foreign -keys /): "_La genitore e la tabella figlio devono utilizzare lo stesso motore di archiviazione [...]" _ per cambiare il motore del tavolo, 'ALTER tABLE mOTORE my_table = InnoDB;' Ha lavorato per MariaDB 10.1.16 . – iloo