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中文網其他相關文章!