Mysql 为concat两列值创建触发器时出现语法错误

Mysql 为concat两列值创建触发器时出现语法错误,mysql,Mysql,我试图通过两个字段创建触发器 CREATE TRIGGER format_goods_sn BEFORE INSERT ON tp_goods FOR EACH ROW BEGIN SET NEW.goods_sn = CONCAT('TP', LPAD(NEW.goods_id, 7, '0')) END 但是我得到警告说,SET NEW.goods\u sn=CONCAT('TP',LPAD(NEW.goods\u id,7,'0'))有语法错误?我发现只要使用单行格式(删除'BEGI

我试图通过两个字段创建触发器

CREATE TRIGGER format_goods_sn
BEFORE INSERT ON tp_goods
FOR EACH ROW
BEGIN
  SET NEW.goods_sn = CONCAT('TP', LPAD(NEW.goods_id, 7, '0'))
END

但是我得到警告说,
SET NEW.goods\u sn=CONCAT('TP',LPAD(NEW.goods\u id,7,'0'))
有语法错误?

我发现只要使用单行格式(删除'BEGIN'和'END')就可以解决这个问题:

CREATE TRIGGER format_goods_sn
BEFORE INSERT ON tp_goods
FOR EACH ROW
BEGIN
SET NEW.goods_sn = CONCAT('TP', LPAD(NEW.goods_id, 7, '0'))

我发现仅使用单行格式(删除“开始”和“结束”)即可解决此问题:

CREATE TRIGGER format_goods_sn
BEFORE INSERT ON tp_goods
FOR EACH ROW
BEGIN
SET NEW.goods_sn = CONCAT('TP', LPAD(NEW.goods_id, 7, '0'))

我没有看到你的代码中有任何错误。您得到的确切错误消息是什么?我没有看到您的代码中有任何错误。您得到的确切错误消息是什么?