トリガー定義の前に区切り文字を宣言しましたか?のようなもの
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
//
そうしないと、MySQLは、最初の;
を検出したときに、トリガー定義を終了しようとしていると見なすためです。 構文エラーを呼び出します。