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:
-
InterceptarINSERT
eUPDATE
contra a mesa filho. Consulta para linha correspondente na tabela pai. FalhaINSERT
/UPDATE
se nenhuma correspondência for encontrada na tabela pai.
-
InterceptarDELETE
contra a tabela pai. Consulta de linhas dependentes na tabela filha. FalhaDELETE
se 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.
-
InterceptarUPDATE
contra 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 emUPDATE
se 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.