1. 一般的な操作手順
1. まずテーブルを作成します
create table swcz (
id int,
`name` varchar(32)
);
2. トランザクションを開始する
start transaction;
3. セーブポイントaを設定する
savepoint a;
4. dml操作を実行します。
insert into swcz values(100,'jack');
select * from swcz;
検索結果:
5.セーブポイントbを設定する
savepoint b;
6.DML操作の実行
insert into swcz values(200,'tom');
select * from swcz;
検索結果:
7. トランザクション b にロールバックします。
rollback to b;
8. テーブルを再度クエリします。
select * from swcz;
トランザクションが b に戻ることがわかります (b が作成されたばかりのときは、データ 100 'jack' が 1 つだけありました)。
9. トランザクション a にフォールバックします
rollback to a;
10. テーブルを再度クエリします。
select * from swcz;
トランザクションに戻ると (つまり、テーブルが確立されたばかりである) に戻ることがわかります。
2. 関連する操作
-- 直接回到事务开始的状态
rollback
-- 提交、结束事务,所有的操作生效,即保存、提交目前的事务,不能退回
commit