具體操作:
1、在Mysql存盤程序中,定義SQLEXCEPTION ,start transaction開啟事務;
2、使用了PREPARE-EXECUTE 執行一行插入陳述句;
3、EXECUTE 之后執行ROLLBACK。
然后發現回滾無效。。。
這玩意是自動提交么,有沒有辦法可以做的遇錯回滾
請求各位大佬指導一波
uj5u.com熱心網友回復:
官方檔案找了半天沒有提到這個會自動提交。。。uj5u.com熱心網友回復:
看ni資料庫引數設定是不是自動提交。show variables like 'autocommit';uj5u.com熱心網友回復:
感謝,自己已解決。設定是默認的自動提交。
查檔案中說存盤程序里用start transaction代替autocommit,之前也一直這么寫的,start transaction確實可以代替autocommit。不知為何這次遇到PREPARE-EXECUTE就失效了。
不知道是不是一個MySQL的bug,在start transaction之前加上set autocommit = 0就能回滾了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/269404.html
標籤:MySQL
上一篇:win10安裝postgresq中插件timescaledb出錯
下一篇:資料庫設計
