广泛的运用于 订单系统,银行系统 等多种场景
事务:是一个操作系列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位
例如:A用户和B用户是银行的储户,现在A要给B转账500元
那么需要做以下几件事:1、检查A的账户余额>500元;
2、A账户中扣除500元;
3、B账户中增加500元;
事务的需求:A扣钱B加钱,要么同时成功,要么同时失败
打开2个命令行窗口:1、执行 先打开查看,是否正确
2、事务执行成功
1)、打开事务:begin
2)、执行:
3)、commit
只有执行 commit后,另外一个窗口,才会更新成功
3、事务执行失败
1)、打开事务:begin
2)、执行:
3)、rollback (之前变更的数据执行失败,还是原数据)
在每个事务结束时,都能保持数据一致
事务命令:
要求:表的引擎类型必须是 innodb类型 才可以使用事务,这是mysql表的默认引擎
查看表的创建语句,可以看到engine=innodb