MySQL高级之事务
1、需求
2、环境搭建
-- 创建账户表,包含 id, name, balance
CREATE TABLE account (
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20),
balance DOUBLE
);
-- 添加数据
INSERT INTO account VALUES
(NULL, '张三', 1000),
(NULL, '李四', 1000);
默认自动开启事务
在DOS 命令下输入 select @@autocommit;
查看是否开启自动提交事务
一般是默认提交
手动提交SQL语句
UPDATE account SET balance = balance - 500 WHERE id = 1;
UPDATE account SET balance = balance + 500 WHERE id = 2;
设置不开启事务
set autocommit = 0;
再来执行上面的修改语句,发现毫无反应
在继续执行commit;
命令之后,才修改数据成功
**温馨提示:**回滚用rollback;