Deklarovali jste před definicí spouštěče oddělovač? Něco jako
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
//
Protože pokud to neuděláte, pak si MySQL myslí, že se pokoušíte ukončit definici spouštěče, když vidí, že jako první ;
a volá chybu syntaxe.