MySQL 存储过程中的事务实现
为了增强数据可靠性,用户尝试在其 MySQL 存储过程中实现事务。然而,这些变化导致该程序无法运行。尽管查阅文档并在线搜索,用户仍无法识别错误。
检查提供的代码后,明显存在两个语法错误:
一旦纠正了这些语法错误,该过程就应该按预期运行,从而允许用户无缝地实现交易。更正后的代码应类似于以下内容:
<code class="sql">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</code>
以上是为什么我的 MySQL 存储过程在执行事务后失败?的详细内容。更多信息请关注PHP中文网其他相关文章!