2013-07-25 12 views
8

Chcę utworzyć wyzwalacz w MySQL. Uruchomić następujące polecenia:Jak utworzyć wyzwalacz MySQL w phpmyadmin

mysql> delimiter // 
mysql> CREATE TRIGGER before_insert_money BEFORE INSERT ON money 
    -> FOR EACH ROW 
    -> BEGIN 
    -> UPDATE accounts SET balance=10.0; 
    -> END; 
    -> // 
Query OK, 0 rows affected (0.19 sec) 

Ale kiedy biegnę powyżej SQL w phpmyadmin otrzymuję ten błąd:

#1064 - You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to 
use near '' at line 4 

co się dzieje tutaj? Jak utworzyć wyzwalacz?

Odpowiedz

9

Jest to spowodowane tym, że tymczasowo nie zmieniono ograniczników, podobnie jak w CLI. Spróbuj albo:

CREATE TRIGGER before_insert_money BEFORE INSERT ON money 
FOR EACH ROW UPDATE accounts SET balance=10.0; 

lub

delimiter // 
CREATE TRIGGER before_insert_money BEFORE INSERT ON money 
FOR EACH 
ROW 
BEGIN 
    UPDATE accounts SET balance=10.0; 
END; 
// 
delimiter ; 

zobacz: This question i this question.