Mysql
 sql >> Database >  >> RDS >> Mysql

Trigger in mysql che causa un errore

Hai dichiarato un delimitatore prima della definizione del trigger? Qualcosa come

DELIMITER //
CREATE TRIGGER tg_order_insert
BEFORE INSERT 
    ON `order` FOR EACH ROW
BEGIN
    INSERT INTO `grocery`.`order_seqid` VALUE(NULL);
    SET NEW.order_id = CONCAT('#GNC', LPAD(LAST_INSERT_ID(),3,'0'));
END
//

Perché se non lo fai, allora MySQL pensa che stai cercando di terminare la definizione del tuo trigger quando vede quel primo ; e chiama l'errore di sintassi.