Ik kan geen manier bedenken om dit te doen met standaard MySQL.
Je zou een plug-in kunnen schrijven voor MySQL Proxy , dat de referentiële integriteit tussen de bovenliggende en onderliggende tabellen op verschillende servers beheert:
-
Onderschep
INSERT
enUPDATE
tegen kindertafel. Query voor overeenkomende rij in bovenliggende tabel. MisluktINSERT
/UPDATE
als er geen overeenkomst is gevonden in de bovenliggende tabel. -
Onderschep
DELETE
tegen bovenliggende tafel. Vraag naar afhankelijke rijen in onderliggende tabel. MisluktDELETE
als er afhankelijke rijen zijn gevonden in de onderliggende tabel. Als de beperking bedoeld is om trapsgewijze gedrag te ondersteunen, doe dat dan in plaats van te falen. -
Onderschep
UPDATE
tegen bovenliggende tafel. Als de waarde van de primaire sleutel verandert als onderdeel van de update, zoekt u naar afhankelijke rijen in de onderliggende tabel. MisluktUPDATE
als er afhankelijke rijen zijn gevonden in de onderliggende tabel. Als de beperking bedoeld is om trapsgewijze gedrag te ondersteunen, doe dat dan in plaats van te falen.
Houd er rekening mee dat u informatie over de referentiële integriteitsbeperkingen in uw MySQL Proxy-plug-in moet bewaren (of een aangepast configuratiebestand voor uw plug-in moet schrijven waarin de relaties worden vastgelegd). U kunt geen conventionele FOREIGN KEY
. gebruiken syntaxis om dergelijke beperkingen in MySQL-instanties aan te geven.