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

КОМЕНТАРІ • 30

  • @slinknoob7586
    @slinknoob7586 2 місяці тому +1

    Sensacional essa aula, está me salvando na prova que irei ter de Banco de Dados! Obrigado!

    • @CreateSe
      @CreateSe  2 місяці тому

      Ahhhh que legal! Boa sorte nos estudos então!

  • @rafaeljunges1576
    @rafaeljunges1576 2 місяці тому +1

    mto bom, adorei, parabens!

  • @gabrielnhambirri
    @gabrielnhambirri 3 роки тому +4

    Gostei dessa aula, muito boa! Nao sabia de NEW e OLD, mas explicou muito bem!

  • @barbararezei7065
    @barbararezei7065 4 місяці тому +1

    obrigada esse video me ajudou muito!!!

    • @CreateSe
      @CreateSe  4 місяці тому +1

      Oieee, que ótimo! Bons estudos!

  • @bia6185
    @bia6185 5 місяців тому +1

    parabens pela aula, ótima explicação agradeço muito!

    • @CreateSe
      @CreateSe  5 місяців тому

      Ahhh obrigada! Espero ter ajudado a entender um pouco mais de Triggers!

  • @rogeraislan53
    @rogeraislan53 3 роки тому +1

    Até que enfim consegui, graças ao seu vídeo.

    • @CreateSe
      @CreateSe  3 роки тому +1

      Ohhhh que ótimo!

  • @carloseduardopintofilho5301
    @carloseduardopintofilho5301 3 роки тому +2

    Obrigado me salvou !!!

  • @MarombeiroNerd
    @MarombeiroNerd 3 роки тому +1

    MT BOM S2

  • @renatopereira8721
    @renatopereira8721 4 роки тому +1

    Muito bom! Parabéns.

  • @vitorfontes4202
    @vitorfontes4202 8 місяців тому +1

    obrigado

  • @emmanuartmoz
    @emmanuartmoz 2 роки тому +1

    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

    • @CreateSe
      @CreateSe  2 роки тому

      Primeiramente você teria que saber que operação seria utilizada para disparar essa trigger.

  • @Fsxtraduzido
    @Fsxtraduzido 8 місяців тому +2

    Porquê trocar esse delimitador?

    • @CreateSe
      @CreateSe  4 місяці тому +1

      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.

  • @mukasoneca
    @mukasoneca 5 місяців тому +1

    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?

    • @CreateSe
      @CreateSe  5 місяців тому +1

      Não, a trigger pode ser criada em qualquer tabela, e enviar informações para qualquer outra, não precisa os mesmos campos.

  • @MarombeiroNerd
    @MarombeiroNerd 3 роки тому +1

    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

    • @CreateSe
      @CreateSe  2 роки тому +1

      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.

  • @mywork6882
    @mywork6882 2 роки тому +1

    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?

    • @CreateSe
      @CreateSe  2 роки тому

      Você trocou o delimitador antes de iniciar a criação da trigger?