1.事务
1.1事务的概念
简单的说,事务就是针对数据库的一组操作,特点是如果其中一条语句无法执行,则全部都不执行。
开启事务start transaction
提交事务commit
回滚rollback
1.2事务的提交
以转账为例:
创建数据库数据表
create table account(
id int primary key auto_increament,
name varchar(40),
money float);
为数据表添加数据:
insert into account(name,money) values('a',1000),('b',1000);
接下来
start transaction
update account set money=1000+100 where name='a';
update account set money=1000-100 where name='b';
此时查看数据如下,可以看出数据已经更改,但是未提交,此时退出数据库的话操作将不能完成,手动提交之后数据更改完成,但是将不能回滚。
select * from account;
+----+------+-------+
| id | name | money |
+----+------+-------+
| 1 | a | 1100 |
| 2 | b | 900 |
+----+------+-------+
2 rows in set (0.00 sec)
再次输入commit
提交事务。
1.3回滚
在没有提交之前,输入rollback
则事务将会回滚,账户将不再更改。