-- 事务:将整个业务操作使用事物管理起来,整个事务的执行要么同时成功,要么同时失败,如果中间出现异常,事物回滚,整个事物将执行失败!
-- (将整个业务操作看成一个整体,使用事物管理起来)
-- 对于DML语句的增删改,默认自动提交SELECt @@autocommit;-- 查看当前事物的状态:自动提交(1)
-- 模拟转账操作
-- 创建一个账户表,id账户编号,自增长的主键
-- name 账户名
-- balance 金额
CREATE TABLE account(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAr(10),
balance INT
);
SELECT *FROM account;-- 插入两条数据
INSERT INTO account(NAME,balance)VALUES('李四',1000),('王五',1000);
-- 如何开启手动提交事务 start transaction;如果转账中间出现问题了,回滚:rollback;
-- 整个语句执行完毕(如果没有问题) commit;提交事务
START TRANSACTION;
-- 李四-500
UPDATE account SET balance=balance-500 WHERe id=1;
转账出问题了
-- 王五+500
UPDATE account SET balance=balance+500 WHERe id=2;
-- 回滚到回滚点(将业务的执行还原到最开始的状态)
ROLLBACK;



