51.笔记 MySQL学习——使用事务保存点句
MYSQL可以让我们对事务进行部分回滚,就是在事务里调用SAVEPOINT语句来设置一些命名标记。如果想要回滚到那个标记点位置,需要使用ROLLBACK语句来指定哪个保存点。
如下:
mysql> truncate table d;
Query OK, 0 rows affected (0.02 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into d values(1);
Query OK, 1 row affected (0.01 sec)
mysql> savepoint my_savepoint;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into d values(2);
Query OK, 1 row affected (0.00 sec)
mysql> rollback to savepoint my_savepoint;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into d values(3);
Query OK, 1 row affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from d;
+------+
| name |
+------+
| 1 |
| 3 |
+------+
2 rows in set (0.00 sec)