MySQL 中 savepoint 的使用


 介紹

savepoint 結點名;    # 設置保存點,並和rollback結合使用,實現回滾到指定保存點

rollback to 結點名;  # 回滾到指定點

樣例演示

USE human;
SET autocommit = 0;
start transaction;
INSERT man VALUES(NULL,'caster');#最終的表中含有
savepoint x;
#設置保存點
INSERT man VALUES(NULL,'ruler');
#在執行完畢后,這條數據不存在,但是自增列的值因為這個語句的插入而發生改變,相當於先插入后刪除
SELECT * FROM man;
#這個的表中有ruler
ROLLBACK TO x;
#回滾到設置好的保存點x
SELECT * FROM man;
#這個表中沒有ruler,因為回滾后沒有在執行保存點下面的插入語句,

 第一個select的結果

第二個select的結果

現在為了證明回滾相當於先插入后刪除的效果,執行下列語句

INSERT man VALUES(NULL,'ruler');

man表的類型

得表


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM