Triggers no MySQL | CreateSe
Вставка
- Опубліковано 5 лют 2025
- No vídeo anterior, expliquei o que são, para que servem e a sintaxe das triggers no PostgreSQL e MySQL.
Hoje, vamos colocar a mão na massa e ver na prática como implementar as triggers no MySQL.
😍 Gostou do vídeo? Deixa o like e compartilha com os amigos!
🎥 Não esqueça de se inscrever no canal e ativar as notificações!
😉 Siga @create.se também no Instagram para conteúdo diário sobre SQL e Banco de Dados.
Acompanhe nosso trabalho também em:
==================================
Instagram: @create.se
Facebook: @createse.oficial
==================================
Link do vídeo: • Triggers no MySQL | Cr...
Se você gostou do conteúdo e quer aprender mais, saiba que eu tenho um curso completo de SQL:
AcademiaDB: Vá além das simples consultas.
Destrave todas as possibilidades dentro do banco de dados.
Acesse: createse.com.br
Sensacional essa aula, está me salvando na prova que irei ter de Banco de Dados! Obrigado!
Ahhhh que legal! Boa sorte nos estudos então!
mto bom, adorei, parabens!
Obrigada!
Gostei dessa aula, muito boa! Nao sabia de NEW e OLD, mas explicou muito bem!
Obrigada!
obrigada esse video me ajudou muito!!!
Oieee, que ótimo! Bons estudos!
parabens pela aula, ótima explicação agradeço muito!
Ahhh obrigada! Espero ter ajudado a entender um pouco mais de Triggers!
Até que enfim consegui, graças ao seu vídeo.
Ohhhh que ótimo!
Obrigado me salvou !!!
Que bom! hehehe
MT BOM S2
Valeuuu
Muito bom! Parabéns.
Obrigada!
obrigado
🤩🤩
Gostei o do vídeo, tem como fazer um trigger que bloquear password user por semana e o user deve actualizar o password.
Bom dia
Primeiramente você teria que saber que operação seria utilizada para disparar essa trigger.
Porquê trocar esse delimitador?
Devido a forma como o MySQL interpreta os comandos SQL.
Por padrão, o delimitador de comandos SQL no MySQL é o ponto e vírgula. Ou seja, sempre que o MySQL encontra um ponto e vírgula, ele entende que aquele é o fim de um comando e tenta executá-lo.
No entanto, uma trigger é um bloco de código que pode conter múltiplos comandos SQL.
Se você usar o delimitador padrão dentro de uma trigger, o MySQL vai entender que o comando terminou após o primeiro ponto e vírgula, o que resultaria em erro.
Para evitar isso, você precisa temporariamente trocar o delimitador para algo diferente, antes de definir a trigger.
Isso permite que o MySQL entenda que o bloco de código da trigger deve ser tratado como um único comando, mesmo que contenha vários pontos e vírgulas.
Depois de definir a trigger, você pode restaurar o delimitador padrão (;) para que o MySQL volte a interpretar normalmente os comandos SQL seguintes.
Espero ter ajudado.
Isso só funciona se for duas tabelas com os mesmos campos? Eu poderia ter uma tabela ENDEREÇO - logradouro e mandar a informação para LOG - descrição?
Não, a trigger pode ser criada em qualquer tabela, e enviar informações para qualquer outra, não precisa os mesmos campos.
ola, sempre que eu criar uma trigger no mysql, apos o VALUES, sempre colocar o OLD ne? pelo que vi ele ja identifica que os campos dos values ja é da tabela indicada na trigger
Desculpe a demora em retornar. Não entendi muito bem a pergunta, mas na trigger o OLD sempre se refere ao valor anterior. Se for uma trigger de delete ou update, é o valor antes de ser excluído ou alterado. Trigger de insert não possui OLD porque não existia nenhum valor antes. Se não ficou claro, pode perguntar novamente.
Boa tarde!
Esta dando erro em meu código. Estou usando xampp com MariaDB
CREATE TRIGGER tr_autor
BEFORE DELETE
ON autor
FOR EACH ROW
BEGIN
INSERT INTO log_autor (nome_autor) VALUES
(OLD.nome_autor);
END
Mensagens do MySQL : Documentação
#1064 - Você tem um erro de sintaxe no seu SQL próximo a '' na linha 7
Poderiam me ajudar please?
Você trocou o delimitador antes de iniciar a criação da trigger?