Ich kann mir keine Möglichkeit vorstellen, dies mit Standard-MySQL zu tun.
Sie könnten ein Plugin für MySQL Proxy schreiben , das die referenzielle Integrität zwischen den übergeordneten und untergeordneten Tabellen auf verschiedenen Servern verwaltet:
-
INSERTabfangen undUPDATEgegen Kindertisch. Abfrage nach übereinstimmender Zeile in der übergeordneten Tabelle. Fehler beiINSERT/UPDATEwenn keine Übereinstimmung in der übergeordneten Tabelle gefunden wird. -
DELETEabfangen gegen die übergeordnete Tabelle. Abfrage nach abhängigen Zeilen in untergeordneter Tabelle. FehlerDELETEwenn abhängige Zeilen in der untergeordneten Tabelle gefunden werden. Wenn die Einschränkung kaskadierendes Verhalten unterstützen soll, tun Sie dies, anstatt zu scheitern. -
UPDATEabfangen gegen die übergeordnete Tabelle. Wenn sich der Primärschlüsselwert im Rahmen der Aktualisierung ändert, suchen Sie nach abhängigen Zeilen, die in der untergeordneten Tabelle gefunden wurden.UPDATEfehlschlagen wenn abhängige Zeilen in der untergeordneten Tabelle gefunden werden. Wenn die Einschränkung kaskadierendes Verhalten unterstützen soll, tun Sie dies, anstatt zu scheitern.
Beachten Sie, dass Sie Informationen über die Einschränkungen der referenziellen Integrität in Ihrem MySQL-Proxy-Plugin aufbewahren müssen (oder eine benutzerdefinierte Konfigurationsdatei für Ihr Plugin schreiben müssen, die die Beziehungen aufzeichnet). Sie können keinen herkömmlichen FOREIGN KEY verwenden Syntax, um solche Einschränkungen über MySQL-Instanzen hinweg zu deklarieren.