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
INSERTaUPDATEproti dětskému stolu. Dotaz na odpovídající řádek v nadřazené tabulce. SelháníINSERT/UPDATEpokud v nadřazené tabulce nebyla nalezena žádná shoda. -
Zachyťte
DELETEproti nadřazené tabulce. Dotaz na závislé řádky v podřízené tabulce. SelháníDELETEpokud 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
UPDATEproti 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íUPDATEpokud 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.