Venho compartilhar um problema que estou enfrentando ao referenciar a Foreign Key com uma tabela Federated.
Pois bem, tenho uma tabela criada normalmente na Engine InnoDB, onde ao qual nesta tabela necessito referenciar varios campos atraves de Foreign Key, mas que esta referenciacao sera com uma segunda tabela e que a mesma é do Engine Federated.
Quando confirmo a operacao, me retorna erro 150. já fiz varias pesquisas mas não consegui encontrar solucao para meu problema.
Bom, nesta altura, devem estar perguntando, é necessario este cenario.
Resposta: Sim, é necessario pois tenho e terei um cenario de balanceamento de carga e multiplos servidores, onde cada um terah um cenario diferenciado, e para que não tenha replicacao de cadastros, tenho um servidor exclusivo e muito mais seguro, onde ficarao os cadastros de parametrizacao, dados dos clientes. Os demais servidores, farao chaveamento com este principal, e é neste momento que entra a tabela Federated com a Foreign Key.
Ex basico e ilustrativo:
ALTER TABLE `helpdesk`.`sis_protocolos`
ADD CONSTRAINT `fk_protocolos_databases`
FOREIGN KEY (`cd_database`)
REFERENCES `helpdesk`.`federado_sis_databases` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
CREATE TABLE federado_sis_databases (
id INT NOT NULL AUTO_INCREMENT,
ds_database VARCHAR(15) NOT NULL,
in_status INT NOT NULL DEFAULT '1',
PRIMARY KEY (id)
)
ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='federado_administrativo/sis_databases';
Pergunta
Renatohjr
Boa tarde pessoal.
Venho compartilhar um problema que estou enfrentando ao referenciar a Foreign Key com uma tabela Federated.
Pois bem, tenho uma tabela criada normalmente na Engine InnoDB, onde ao qual nesta tabela necessito referenciar varios campos atraves de Foreign Key, mas que esta referenciacao sera com uma segunda tabela e que a mesma é do Engine Federated.
Quando confirmo a operacao, me retorna erro 150. já fiz varias pesquisas mas não consegui encontrar solucao para meu problema.
Bom, nesta altura, devem estar perguntando, é necessario este cenario.
Resposta: Sim, é necessario pois tenho e terei um cenario de balanceamento de carga e multiplos servidores, onde cada um terah um cenario diferenciado, e para que não tenha replicacao de cadastros, tenho um servidor exclusivo e muito mais seguro, onde ficarao os cadastros de parametrizacao, dados dos clientes. Os demais servidores, farao chaveamento com este principal, e é neste momento que entra a tabela Federated com a Foreign Key.
Ex basico e ilustrativo:
ALTER TABLE `helpdesk`.`sis_protocolos`
ADD CONSTRAINT `fk_protocolos_databases`
FOREIGN KEY (`cd_database`)
REFERENCES `helpdesk`.`federado_sis_databases` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
CREATE TABLE federado_sis_databases (
id INT NOT NULL AUTO_INCREMENT,
ds_database VARCHAR(15) NOT NULL,
in_status INT NOT NULL DEFAULT '1',
PRIMARY KEY (id)
)
ENGINE=FEDERATED
DEFAULT CHARSET=utf8
CONNECTION='federado_administrativo/sis_databases';
Obrigado pela ajuda.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.