MySQL的事务支持不是绑定在MySQL服务器自己,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提升性能 2.InnoDB:支持ACID事务、行级锁、并发 3.Berkeley DB:支持事务mysql
进去mysql数据库:sql
查询数据库:数据库
进入库 查看表:服务器
拿user 表来试验;并发
开启事务
START TRANSACTION 或 BEGIN性能
提交事务(关闭事务)
COMMITspa
放弃事务(关闭事务)
ROLLBACK3d
查看user 表数据blog
mysql-> select * from user;事务
开启事物
mysql -> begin;
修改user 表的id=5的数据:
mysql-> update user set photo=6000 where=5;
如今执行成功,可是还在事物中,事物没有结束查看表数据 仍是同样,打开新窗口 在事物外查询 表数据没变;
回来原窗口 继续执行事务,吧id=4的数据修改为4000;
mysql-> update user set photo=4000 where id=4;
如今这些都在事物中,想把zhangsan的5000给lisi1000,这时张三4000,李四6000,全部sql执行完比提交事物;
mysql-> commit;
mysql-> select * from user;
事物执行成功;一个事物到这就结束了;
若是不想执行ROLLBACK回滚;数据不变 仍是张三5000;李四5000;
不懂得能够问我