以下代码中的错误是什么。我在 mysqlCREATE TRIGGER tg_order_insertBEFORE INSERT ON `order` FOR EACH ROWBEGIN INSERT INTO `grocery`.`order_seqid` VALUE(NULL) 中执行...
以下代码中的错误是什么?我在 mysql 中执行
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;
Grocery 是数据库,order_seqid 和 order 是 2 个表。如果类型为 int 且自动递增,order_seqid 是一个只有 1 个属性的表。
我试图在插入到订单表中的 ID 上添加前缀。我在第 1 行 INSERT INTO.....
和 END;
第 2 行
您是否在触发器定义前声明了分隔符?例如
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
//
并调用语法错误 ;
时,它会认为您正在尝试结束触发器定义