Как я могу использовать транзакции в моей хранимой процедуре MySQL?

Я пытаюсь изменить мою хранимую процедуру 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

любая идея ?

Ответы на вопрос(2)

Ваш ответ на вопрос