MySQL: Trigger no phpMyAdmin

junho 7, 2008

Muitas pessoas tentam rodar triggers pelo phpMyAdmin e recebem um erro de sintaxe.
Tudo levar a crer que o phpMyAdmin não suporta triggers, mas não é bem assim.
O que ocorre é que o delimitador (separador de comandos) padrão do phpMyAdmin ou até mesmo do console do MySQL é o ponto e vírgula “;”
A sintaxe da trigger também possui ponto e vírgula “;” então quando você executa uma trigger, o phpMyAdmin acredita que você está enviando diversas instruções SQL, assim seu bloco de comando é interrompido no meio do caminho acusando erro de sintaxe.

Para resolver isto é simples, basta alterar o delimitador em tempo de execução.
Por exemplo:

DELIMITER $$ — Seta novo delimitador

DROP TRIGGER IF EXISTS teste $$ — Essa é uma instrução SQL
CREATE TRIGGER teste BEFORE DELETE ON tabela
FOR EACH ROW
BEGIN
COMANDO1;
COMANDO2;
COMANDO3;
END$$ — Essa é outra instrução SQL

DELIMITER ; — Volto ao delimitador padrão

Outra opção ainda mais fácil, é utilizar a aba “SQL” do phpMyAdmin e alterar o campo “Delimitador”.
Lembrando que o MySQL introduziu trigger a partir da versão 5.0, caso sua versão seja inferior não funcionará.

Anúncios

4 Responses to “MySQL: Trigger no phpMyAdmin”

  1. Michael Says:

    Oi, obrigado por posta, foi importante relembrar e aplicar, fiquei só na teoria na faculdade e hoje graças a este tutoria pude aplicar realmente. Obrigado e poste mais!

  2. jlsilva01@yahoo.com.br Says:

    Obrigado… era isso mesmo que eu precisava !!!
    Abraços!

  3. Villahalls Says:

    perfeito!
    obrigado pela dica, não sabia mais o q fazer, rsrsrs

    abraços!

  4. walter aragão Says:

    valeu amigo!!
    era isso mesmo!


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s

%d blogueiros gostam disto: