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
INSERT
eUPDATE
contro il tavolo figlio. Query per la corrispondenza della riga nella tabella padre.INSERT
non riuscito /UPDATE
se nessuna corrispondenza trovata nella tabella principale. -
Intercetta
DELETE
contro la tabella padre. Query per righe dipendenti nella tabella figlio.DELETE
fallito 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
UPDATE
contro 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.UPDATE
non 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.