Não consigo pensar em nenhuma maneira de fazer isso com o MySQL padrão.
Você pode escrever um plugin para MySQL Proxy , que gerencia a integridade referencial entre as tabelas pai e filho em diferentes servidores:
-
InterceptarINSERTeUPDATEcontra a mesa filho. Consulta para linha correspondente na tabela pai. FalhaINSERT/UPDATEse nenhuma correspondência for encontrada na tabela pai.
-
InterceptarDELETEcontra a tabela pai. Consulta de linhas dependentes na tabela filha. FalhaDELETEse alguma linha dependente for encontrada na tabela filha. Se a restrição for destinada a dar suporte ao comportamento em cascata, faça isso em vez de falhar.
-
InterceptarUPDATEcontra a tabela pai. Se o valor da chave primária estiver mudando como parte da atualização, consulte as linhas dependentes encontradas na tabela filha. Falha emUPDATEse alguma linha dependente for encontrada na tabela filha. Se a restrição for destinada a dar suporte ao comportamento em cascata, faça isso em vez de falhar.
Observe que você teria que manter informações sobre as restrições de integridade referencial em seu plug-in MySQL Proxy (ou escrever um arquivo de configuração personalizado para seu plug-in que registre os relacionamentos). Você não pode usar a
FOREIGN KEY convencional sintaxe para declarar tais restrições nas instâncias do MySQL.