Como criar versionamento de dados com MySQL trigger Print

  • 0

Como Criar Versionamento de Dados com MySQL Trigger – Guia Fácil para Iniciantes

Olá, querido(a) cliente da GeHost! 😊

Se você está aqui, provavelmente quer manter um histórico de alterações nos seus dados — como quem fez uma mudança, quando e o que foi alterado. Isso é super útil para evitar perdas, corrigir erros ou até investigar problemas.

Na GeHost, você pode usar triggers no MySQL para automatizar esse processo de versionamento. E não se preocupe: mesmo se você não é especialista em SQL, com este guia passo a passo, você vai conseguir fazer isso com tranquilidade.

Prepare-se para aprender com a Sensei da GeHost — aqui, conhecimento é compartilhado com carinho, como um bom chá de camomila. 🍵

📌 O que é um Trigger no MySQL?

Um trigger é um pedaço de código que roda automaticamente quando algo acontece em uma tabela — como inserir, atualizar ou excluir um registro.

Por exemplo: toda vez que alguém alterar um dado na tabela clientes, o trigger pode salvar uma cópia antiga do registro em uma tabela de versões.

Dica da Sensei: Imagine um trigger como um "alarme de segurança" para seus dados. Ele fica de olho e registra tudo que acontece — sem você precisar fazer nada!

🔧 Passo a Passo: Criando Versionamento com Trigger

Vamos supor que você tem uma tabela chamada produtos e quer salvar todas as alterações feitas nela. Vamos criar uma tabela de versões para isso.

Passo 1: Acesse o phpMyAdmin via cPanel

Entre no seu cPanel com suas credenciais (usuário e senha). Após logar, clique em phpMyAdmin no grupo "Bancos de Dados".

Tela inicial do cPanel com o botão phpMyAdmin destacado

Passo 2: Crie uma tabela para armazenar as versões

No phpMyAdmin, vá até a aba “Bancos de Dados” e selecione o banco onde está sua tabela produtos.

Clique em “Nova” para criar uma nova tabela chamada produtos_version.

Adicione as seguintes colunas:

  • id – INT, chave primária, auto-increment
  • produto_id – INT (para identificar qual produto foi alterado)
  • nome_antigo – VARCHAR(255)
  • preco_antigo – DECIMAL(10,2)
  • data_alteracao – DATETIME (para registrar quando ocorreu a alteração)
  • usuario – VARCHAR(50) (opcional: quem fez a alteração)

Salve a tabela.

Passo 3: Crie o Trigger para versionamento

Na parte superior do phpMyAdmin, clique em “SQL” para abrir o editor de comandos SQL.

Cole o código abaixo (ajuste o nome da tabela se necessário):

DELIMITER $$

CREATE TRIGGER trg_produtos_update
AFTER UPDATE ON produtos
FOR EACH ROW
BEGIN
  INSERT INTO produtos_version (
    produto_id,
    nome_antigo,
    preco_antigo,
    data_alteracao,
    usuario
  )
  VALUES (
    OLD.id,
    OLD.nome,
    OLD.preco,
    NOW(),
    USER()
  );
END$$

DELIMITER ;

Explicando o código:

  • OLD.id → pega o valor antigo do ID
  • OLD.nome → pega o nome antigo do produto
  • OLD.preco → pega o preço antigo
  • NOW() → insere a data e hora atual
  • USER() → insere o nome do usuário que fez a alteração (seja via PHP, admin, etc.)

Passo 4: Teste o Trigger

Volte para a tabela produtos e altere um registro (por exemplo, mude o preço de um produto).

Depois, vá até a tabela produtos_version e veja se o registro foi salvo automaticamente.

Se sim… Parabéns! 🎉 Você criou seu primeiro sistema de versionamento de dados com MySQL Trigger!

Dica da Sensei: Se precisar de mais controle, você pode criar triggers para INSERT e DELETE também. É só adaptar o código!

💡 Dicas Extras para Manter Tudo Funcionando

  • Seu banco de dados precisa ter permissão para criar triggers — isso já vem ativado no cPanel da GeHost.
  • Evite triggers muito complexos em tabelas com muitos registros, pois podem afetar o desempenho.
  • Se precisar, você pode usar o phpMyAdmin para visualizar todos os triggers já criados — vá em “Triggers” no menu lateral.
  • Seu código SQL pode ser salvo em um arquivo .sql e restaurado caso precise recriar tudo.

✨ Conclusão

Com esse guia, você aprendeu como usar triggers MySQL para criar um sistema simples de versionamento de dados — tudo com apenas alguns cliques e um pouco de SQL.

Na GeHost, acreditamos que tecnologia deve ser acessível, segura e humana. E você, meu(a) querido(a) cliente, está no caminho certo.

Se tiver dúvidas, não hesite em nos procurar. Estamos aqui para te ajudar, como um bom amigo. 💬

Com carinho,
A Sensei da GeHost 🌿


Was this answer helpful?

« Back