1) 使用事务保证数据完整性
2) 事务就是将一组SQL语句放在同一批次内去执行
3) 如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行
4) MySQL事务处理只支持InnoDB和BDB数据表类型
5) 事务的ACID原则
a) 原子性
b) 一致性
c) 隔离性
d) 持久性
#mysql的事务是自动提交的
#只有对数据库的数据有修改才使用到事务 增 删 改
CREATE TABLE `blank` (
`count` int(11) NOT NULL AUTO_INCREMENT,
`uname` varchar(20) NOT NULL,
`money` decimal(5,2) DEFAULT NULL,
PRIMARY KEY (`count`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
#转账 UPDATE
select * from blank;
#演示事务回滚
#关闭事务自动提交
SET autocommit=0;
#开启事务
start TRANSACTION
update blank set money=money-10000 where uname='张三';
update blank set money=money+1000 where uname='李四';
#转账后看金额
select * from blank;
#撤销操作 回滚事务
ROLLBACK;
#查看金额
select * from blank;
#事务操作完毕 开启自动提交
SET autocommit=1;
#演示事务提交
#关闭事务自动提交
SET autocommit=0;
#开启事务
start TRANSACTION
update blank set money=money-10000 where uname='张三';
update blank set money=money+1000 where uname='李四';
#转账后看金额
select * from blank;
#提交事务 永久保存到数据库
COMMIT;
#查看金额
select * from blank;
#回滚
ROLLBACK
#查看金额
select * from blank;
#事务操作完毕 开启自动提交
SET autocommit=1;