MySQL事务
事务概念
一个事务是由一条或者多条对数据库操作的SQL语句所组成的一个不可分割的单元,只有当事务中的所有操作都正常执行完了,整个事务才会被提交给数据库;如果有部分事务处理失败,那么事务就要回退到最初的状态,因此,事务要么全部执行成功,要么全部失败。
事务的几个基本概念:
- 事务是一组SQL语句的执行,要么全部成功,要么全部失败,不能出现部分成功,部分失败的结果。以保证事务执行的原子操作
- 事务的所有SQL语句全部执行成功,才能提交(commit)事务,把结果写回磁盘上
- 事务执行过程中,有的SQL出现错误,那么事务必须要回滚(rollback)到最初的状态
例子扩展:张三给刘超转50元,张三有100元,刘超有200元
- 业务模拟
try {
begin; # 开启事务
update account set money = money - 50 where name = 'zhangsan';
update account set money = money + 50 where name = 'liuchao';