什么是事务?
事务就是一个操作或一系列操作,他们要么全部执行,要么全部都不执行。
想象你用支付宝转账100万给你朋友,这里包含两个操作:
- 在你的账户里减去100万。
- 在你朋友的账户里加上100万。
这两个操作执行其中一个行不行?仔细想想:
只执行前一个,那100万是不是就凭空消失!!!
只执行后一个,是不是凭空多出100万!!!
所以这两个操作就必须是一个事务啊,就叫它转账事务吧
这个转账事务两个操作必须要么都执行,要么都不执行,这才对。
在MySql中使用事务
首先表类型必须是InnoDB,如果不是,使用下面语句修改表类型。1ALTER TABLE table TYPE = innodb
MySQL默认是autocommit模式,即每一条sql语句都直接写入到数据库。
你需要使用下面的语句开始一个事务。1start transaction;
在你执行完组成事务的一系列SQL语句后,就可以提交事务了。1commit
如果你改变主意,想回到最初的状态,在提交(commit)之前。1rollback