我已经创建了一个存储过程,它会将记录插入到表中,并获取该记录的自增ID。然而,在将
LAST_INSERT_ID()
赋值给一个变量时,我遇到了语法错误。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ');
SET _orderId = SELECT LAST_INSERT_ID(); END' at line 5
请帮我解决这个问题。先谢谢你。
我的代码如下:
DELIMITER //
CREATE PROCEDURE placeOrder(IN _cartId INT, IN _createdBy INT)
BEGIN
DECLARE _orderId INT;
-- insert into order
INSERT INTO `TBL_ORDER`(`DealerId`, `OrderNo`, `CreatedBy`)
VALUES ((SELECT DealerId FROM TBL_SHOPPING_CART WHERE Id = _cartId), UNIX_TIMESTAMP(), _createdBy));
SET _orderId = SELECT LAST_INSERT_ID();
END//
DELIMITER ;