Manual MyTable

MySQL • Triggers

As triggers (gatilhos) executam ações automáticas no banco ao ocorrerem eventos em uma tabela (INSERT, UPDATE ou DELETE). Elas ajudam a manter regras de negócio, auditoria e consistência de dados sem depender do aplicativo.


Abrir a área de Triggers

  1. Conecte-se à sua conexão MySQL e selecione o banco.
  2. Na árvore, escolha a tabela desejada.
  3. No menu de ações, toque em Triggers.

Listar e visualizar

  • Veja todas as triggers ligadas à tabela, organizadas por evento e momento:
    • BEFORE INSERT/UPDATE/DELETE
    • AFTER INSERT/UPDATE/DELETE
  • Ao tocar em uma trigger, o MyTable mostra a definição (corpo/SQL) e metadados básicos.

Criar trigger

  1. Toque em Nova Trigger.
  2. Informe:
    • Nome da trigger (sem espaços/acentos).
    • Momento: BEFORE ou AFTER.
    • Evento: INSERT, UPDATE ou DELETE.
    • Corpo (SQL): lógica a executar. Use NEW.coluna para valores inseridos/atualizados e OLD.coluna para o registro anterior (em UPDATE/DELETE).
  3. Revise e toque em Criar.

Dica: Para auditoria, grave data/usuário/ação em uma tabela de log usando AFTER INSERT/UPDATE/DELETE.


Editar (alterar) trigger

  • Selecione a trigger e toque em Editar.
  • Ajuste momento/evento ou o corpo da trigger.
  • Confirme em Salvar. Em alguns casos, a alteração é aplicada recriando a trigger.

Excluir trigger

  1. Abra a trigger desejada.
  2. Toque em Excluir e confirme.

Importante: remover triggers pode afetar trilhas de auditoria ou validações de dados em produção.


Boas práticas

  • Mantenha triggers simples e objetivas; lógica pesada pode degradar INSERT/UPDATE/DELETE.
  • Evite dependências cíclicas (uma trigger que aciona outra em cascata sem controle).
  • Documente finalidade e impacto; nomeie claramente (ex.: trg_pedidos_ai_auditoria).
  • Teste primeiro em homologação com dados reais.

Erros comuns (e soluções)

“Permissão negada”

  • É necessário privilégio para CREATE TRIGGER/DROP TRIGGER e acesso às tabelas usadas.

“Trigger com mesmo nome já existe”

  • Renomeie ou exclua a antiga antes de criar a nova.

“Mutations / recursão indesejada”

  • Evite que uma trigger atualize a mesma tabela sem condição, causando loop. Controle com flags/condições.

“Queda de desempenho após criar trigger”

  • Revise o corpo e restrinja a lógica ao essencial. Prefira AFTER para auditoria e use índices adequados.

Ferramentas relacionadas

Próximo: MySQL • Funções (Functions) • Voltar: MySQL • Views