Nenapadá mě žádný způsob, jak to udělat se standardním MySQL.
Můžete napsat plugin pro MySQL Proxy , který spravuje referenční integritu mezi nadřazenými a podřízenými tabulkami na různých serverech:
-
Zachyťte
INSERT
aUPDATE
proti dětskému stolu. Dotaz na odpovídající řádek v nadřazené tabulce. SelháníINSERT
/UPDATE
pokud v nadřazené tabulce nebyla nalezena žádná shoda. -
Zachyťte
DELETE
proti nadřazené tabulce. Dotaz na závislé řádky v podřízené tabulce. SelháníDELETE
pokud byly v podřízené tabulce nalezeny nějaké závislé řádky. Pokud má omezení podporovat kaskádové chování, udělejte to namísto selhání. -
Zachyťte
UPDATE
proti nadřazené tabulce. Pokud se hodnota primárního klíče mění v rámci aktualizace, dotazujte se na závislé řádky nalezené v podřízené tabulce. SelháníUPDATE
pokud byly v podřízené tabulce nalezeny nějaké závislé řádky. Pokud má omezení podporovat kaskádové chování, udělejte to namísto selhání.
Všimněte si, že byste museli uchovávat informace o omezeních referenční integrity ve vašem pluginu MySQL Proxy (nebo napsat vlastní konfigurační soubor pro váš plugin, který zaznamenává vztahy). Nemůžete použít konvenční FOREIGN KEY
syntaxi pro deklarování takových omezení napříč instancemi MySQL.