Rumah >pangkalan data >tutorial mysql >Mengapa Prosedur Simpanan MySQL Saya Gagal Selepas Melaksanakan Transaksi?
Pelaksanaan Transaksi dalam Prosedur Tersimpan MySQL
Dalam usaha untuk meningkatkan kebolehpercayaan data, pengguna telah cuba melaksanakan transaksi dalam prosedur tersimpan MySQL mereka . Walau bagaimanapun, perubahan telah menyebabkan prosedur tidak berfungsi. Walaupun berunding dengan dokumentasi dan mencari dalam talian, pengguna tidak dapat mengenal pasti ralat.
Setelah meneliti kod yang disediakan, ternyata terdapat dua ralat sintaks:
Setelah ralat sintaks ini diperbetulkan, prosedur harus berfungsi seperti yang dimaksudkan, membolehkan pengguna melaksanakan transaksi dengan lancar. Kod yang diperbetulkan sepatutnya menyerupai ini:
<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>
Atas ialah kandungan terperinci Mengapa Prosedur Simpanan MySQL Saya Gagal Selepas Melaksanakan Transaksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!