Non riesco a pensare a nessun modo per farlo con MySQL standard.
Potresti scrivere un plugin per MySQL Proxy , che gestisce l'integrità referenziale tra le tabelle padre e figlio su server diversi:
-
Intercetta
INSERTeUPDATEcontro il tavolo figlio. Query per la corrispondenza della riga nella tabella padre.INSERTnon riuscito /UPDATEse nessuna corrispondenza trovata nella tabella principale. -
Intercetta
DELETEcontro la tabella padre. Query per righe dipendenti nella tabella figlio.DELETEfallito se sono state trovate righe dipendenti nella tabella figlio. Se il vincolo ha lo scopo di supportare il comportamento a cascata, fallo invece di fallire. -
Intercetta
UPDATEcontro la tabella padre. Se il valore della chiave primaria cambia come parte dell'aggiornamento, eseguire una query per le righe dipendenti trovate nella tabella figlio.UPDATEnon riuscito se sono state trovate righe dipendenti nella tabella figlio. Se il vincolo ha lo scopo di supportare il comportamento a cascata, fallo invece di fallire.
Nota che dovresti conservare le informazioni sui vincoli di integrità referenziale nel tuo plug-in MySQL Proxy (o scrivere un file di configurazione personalizzato per il tuo plug-in che registra le relazioni). Non puoi usare la convenzionale FOREIGN KEY sintassi per dichiarare tali vincoli nelle istanze MySQL.