Jag kan inte komma på något sätt att göra detta med standard MySQL.
Du kan skriva ett plugin för MySQL Proxy , som hanterar referensintegritet mellan överordnade och underordnade tabeller på olika servrar:
-
Snäpp upp
INSERT
ochUPDATE
mot barnbord. Fråga efter matchande rad i överordnad tabell. Misslyckas medINSERT
/UPDATE
om ingen matchning hittades i den överordnade tabellen. -
Snäpp upp
DELETE
mot föräldratabell. Fråga efter beroende rader i underordnad tabell. MisslyckasDELETE
om det finns några beroende rader i den underordnade tabellen. Om begränsningen är avsedd att stödja kaskadbeteende, gör det istället för att misslyckas. -
Snäpp upp
UPDATE
mot föräldratabell. Om det primära nyckelvärdet ändras som en del av uppdateringen, fråga efter beroende rader som finns i den underordnade tabellen. MisslyckasUPDATE
om det finns några beroende rader i den underordnade tabellen. Om begränsningen är avsedd att stödja kaskadbeteende, gör det istället för att misslyckas.
Observera att du måste behålla information om referensintegritetsbegränsningarna i ditt MySQL Proxy-plugin (eller skriva en anpassad konfigurationsfil för din plugin som registrerar relationerna). Du kan inte använda konventionell FOREIGN KEY
syntax för att deklarera sådana begränsningar över MySQL-instanser.