Ir para conteúdo
Fórum Script Brasil
  • 0

Espelhar determinada tabela do banco de dados


Wendell Christian

Pergunta

Olá galera, estou com uma dúvida se é possível ser resolvida. Gostaria de saber se é possível espelhar uma tabela em um banco de dados para outra tabela em outro banco de dados. Meu caso é o seguinte, tenho a intenção de criar duas lojas virtuais, porém a segunda loja iria utilizar o mesmo estoque e produtos da primeira, mas os clientes e as encomendas seriam diferentes. Então gostaria de saber se é possível fazer um espelhamento da tabela de produtos de uma loja para a tabela de produtos da outra loja através do banco de dados MySQL, ou seja, quando o estoque de determinado produto for alterado na primeira loja, consequentemente seria alterado na segunda loja. Aguardo respostas, abraços.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

'Wendell Christian'

Se estiverem na mesma instância, crie a estrutura da tabela no outro banco de dados e alimente-a através de triggers na tabela de origem.

Link para o comentário
Compartilhar em outros sites

  • 0
'Wendell Christian'

Se estiverem na mesma instância, crie a estrutura da tabela no outro banco de dados e alimente-a através de triggers na tabela de origem.

Certo, eu tenho criado a estrutura da tabela no outro banco de dados, como faço para fazer esta alimentação através de triggers, conheço apenas o básico de mysql, teria algum tópico que eu poderia utilizar? Agradeço a sua atenção.

Link para o comentário
Compartilhar em outros sites

  • 0
...

Certo, eu tenho criado a estrutura da tabela no outro banco de dados, como faço para fazer esta alimentação através de triggers, conheço apenas o básico de mysql, teria algum tópico que eu poderia utilizar? Agradeço a sua atenção.

Exemplo: Criando os bancos e as tabelas:

create database original;
create database espelho;
use original;
create table minhatabela(
id int,
nome varchar(20),
primary key(id))engine=myisam;
use espelho;
create table minhatabela(
id int,
nome varchar(20),
primary key(id))engine=myisam;
use original;
Criando o trigger de insert
DELIMITER $$;

DROP TRIGGER `original`.`tin_minhatabela`$$

CREATE TRIGGER `original`.`tin_minhatabela` AFTER INSERT on `original`.`minhatabela`
FOR EACH ROW BEGIN
   insert into `espelho`.`minhatabela`(id, nome)
   values (new.id, new.nome);
END$$

DELIMITER;$$
Criando o trigger de update
DELIMITER $$;

DROP TRIGGER `original`.`tup_minhatabela`$$

CREATE TRIGGER `original`.`tup_minhatabela` AFTER UPDATE on `original`.`minhatabela`
FOR EACH ROW BEGIN
   update `espelho`.`minhatabela`
   set nome = new.nome
   where  id = new.id;
END$$

DELIMITER;$$
Criando o trigger de delete:
DELIMITER $$;

DROP TRIGGER `original`.`tdel_minhatabela`$$

CREATE TRIGGER `original`.`tdel_minhatabela` BEFORE DELETE on `original`.`minhatabela`
FOR EACH ROW BEGIN
   delete `espelho`.`minhatabela`
   where  id = old.id;
END$$

DELIMITER;$$

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...