事务
方法1
设置手动提交事务
set @@autocommit = 0;接下来每运行一次sql语句,需要输入commit;
如果出错可以使用rollback;
方法二
使用
start tranction 或者 begin
事务的ACID
原子性(Atomicity)。一个事务要么完全执行,要么不执行
一致性(Consistency)事务完成时,必须使所有的数据都保持一致状态
隔离性(Isolation)事务在不受外部并发操作影响的独立环境下运行
持久性(Durability)
并发事务问题
脏读。一个事务读到另外一个事务还没有提交的数据
不可重复读。一个事务先后读取同一个记录,但是两次读取的数据不同
幻读。一个事务在查询时没有对应数据,但是在插入时数据已经存在,好像出现了幻影
并发事务隔离级别
Read uncommitted。1 1 1
读未提交
Read committed. 0 1 1
读已提交
Repeatable Read (Mysql default)0 0 1
可重复读
Serializable. 0 0 0
串行化
最后更新于
这有帮助吗?