2013-07-25 20 views
8

Voglio creare un trigger in MySQL. Corro seguenti comandi:Come creare un trigger MySQL in 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) 

Ma quando corro sopra SQL in phpMyAdmin ottengo questo errore:

#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 

cosa c'è di sbagliato qui? Come posso creare un trigger?

risposta

9

Ciò è causato non cambiando temporaneamente i delimitatori come avete fatto tramite CLI. Prova uno:

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

o

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

See: This question e this question.