MySQL数据库事务操作_数据回滚
时间:2014-12-11 01:09 来源:linux.it.net.cn 作者:IT
MySQL数据库事务操作_数据回滚
mysql数据库控制台事务的几个重要操作
1. start transaction //开始一个事务
2. savepoint 保存点名 //设置保存点
3. rollback to 保存点名 //取消部分事务 [回滚]
4. rollback //取消全部事务
5. commit //提交事务
案例如下:
mysql> use testdb;
mysql> select * from age;
+----+--------+------+
| id | name | age |
+----+--------+------+
| 3 | 少恭 | 23 |
| 4 | 屠苏 | 25 |
+----+--------+------+
mysql> start transaction;
mysql> savepoint a; #做了个保存点A
mysql> delete from age where id=4; #删除一个人
mysql> select * from age; #发现少一个人
+----+--------+------+
| id | name | age |
+----+--------+------+
| 3 | 少恭 | 23 |
+----+--------+------+
mysql> savepoint b; #又做了个保存点B
mysql> delete from age where id=3; #我又删除一个人
mysql> select * from age; #发现又少一个人
#现在可以回到A,也可以回到B,注意回到一个点过后另外一个保存点就没有了
mysql> rollback to a; #我现在回到A这个保存点 [回滚]
mysql> select * from age; #发现刚删除的两个人又回来了.
+----+--------+------+
| id | name | age |
+----+--------+------+
| 3 | 少恭 | 23 |
| 4 | 屠苏 | 25 |
+----+--------+------+
(责任编辑:IT)
MySQL数据库事务操作_数据回滚
mysql数据库控制台事务的几个重要操作
1. start transaction //开始一个事务
2. savepoint 保存点名 //设置保存点
3. rollback to 保存点名 //取消部分事务 [回滚]
4. rollback //取消全部事务
5. commit //提交事务
案例如下:
mysql> use testdb;
mysql> select * from age;
+----+--------+------+
| id | name | age |
+----+--------+------+
| 3 | 少恭 | 23 |
| 4 | 屠苏 | 25 |
+----+--------+------+
mysql> start transaction;
mysql> savepoint a; #做了个保存点A
mysql> delete from age where id=4; #删除一个人
mysql> select * from age; #发现少一个人
+----+--------+------+
| id | name | age |
+----+--------+------+
| 3 | 少恭 | 23 |
+----+--------+------+
mysql> savepoint b; #又做了个保存点B
mysql> delete from age where id=3; #我又删除一个人
mysql> select * from age; #发现又少一个人
#现在可以回到A,也可以回到B,注意回到一个点过后另外一个保存点就没有了
mysql> rollback to a; #我现在回到A这个保存点 [回滚]
mysql> select * from age; #发现刚删除的两个人又回来了.
+----+--------+------+
| id | name | age |
+----+--------+------+
| 3 | 少恭 | 23 |
| 4 | 屠苏 | 25 |
+----+--------+------+
|