MySQL事务的rollback和commit

1.事务概述

MySQL事务的rollback和commit

2.演示事务

MySQL的事务只要执行一条DML语句就会自动提交:
MySQL事务的rollback和commit
可以选择手动提交来关闭自动提交:
如果只是回滚rollback但是没有提交的话,不会改变硬盘中的数据,所以回滚以后查询不出来两条结果
MySQL事务的rollback和commit
下面演示提交之后查询的数据:
MySQL事务的rollback和commit
mysql> select * from t_user;
±—±---------+
| id | username |
±—±---------+
| 1 | zs |
±—±---------+
1 row in set (0.00 sec)

mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into t_user(username) values(‘wangwu’)
Query OK, 1 row affected (0.00 sec)

mysql> insert into t_user(username) values(‘kinh’)
Query OK, 1 row affected (0.00 sec)

mysql> select * from t_user;
±—±---------+
| id | username |
±—±---------+
| 1 | zs |
| 3 | wangwu |
| 4 | kinh |
±—±---------+
3 rows in set (0.00 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from t_user;
±—±---------+
| id | username |
±—±---------+
| 1 | zs |
| 3 | wangwu |
| 4 | kinh |
±—±---------+
3 rows in set (0.00 sec)

mysql> rollback;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from t_user;
±—±---------+
| id | username |
±—±---------+
| 1 | zs |
| 3 | wangwu |
| 4 | kinh |
±—±---------+
3 rows in set (0.00 sec)

mysql>