介紹
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表的類型
得表