我正在尝试修改我的MySQL存储过程,并使其具有事务性。现有的存储过程没有任何问题,但是一旦我使它具有事务性,它甚至不允许我保存更改。我查看了MySQL文档并在网上搜索,但我找不到任何与我的代码有关的问题。它似乎非常直接,但我无法弄清楚。
BEGIN
DECLARE poid INT;
DECLARE EXIT HANDLER FOR SQLEXCEPTION SQLWARNING
BEGIN
ROLLBACK;
END
START TRANSACTION;
-- ADD option 5
INSERT INTO product_option(product_id,option_id,required) VALUES(insertedProductID,5,0);
SET poid = (SELECT LAST_INSERT_ID());
INSERT INTO product_option_value(product_option_id,product_id,option_id,option_value_id,quantity,subtract,price,price_prefix,points,points_prefix,weight,weight_prefix) VALUES(poid,insertedProductID,5,50,0,0,4.99,'+',0,'+',0,'+');
-- ADD option 12
INSERT INTO product_option(product_id,option_id,required) VALUES(insertedProductID,12,1);
-- ADD option 13
INSERT INTO product_option(product_id,option_id,required) VALUES(insertedProductID,13,0);
COMMIT;
END
有什么想法吗?
CREATE PROCEDURE...
开头?什么是insertedProductID
,它在哪里被声明了? - peterm