mysql事务详解
事务的四大特性 1.原子性(Atomicity) 要么全做,要么全不做的规则称之为原子性。比如说转账,要么成功要么失败. 2.一致性(Consistency) 如果数据库中的数据全部符合现实世界中的约束(all defined rules),我们说这些数据就是一致的,或者说符合一致性的。比如身份证号不能重复 更多的一致性需求需要靠写业务代码的程序员自己保证。比如说金额不能小于0 , 性别只能是男或女. 3.隔离性(Isolation) 对某些数据库操作来说,不仅要保证这些操作以原子性的方式执行完成,而且要保证其它的状态转换不会影响到本次状态转换,这个规则被称之为隔离性。 4.持久性(Durability) 转换的结果将永久的保留,这个规则被称为持久性. 也就意味味着该转换对应的数据库操作所修改的数据都应该在磁盘上保留下来 MySQL中事务的语法 只有InnoDB和NDB存储引擎支持事务.如果表不支持事务,那么将无法回滚. 不显式的开启事务,那么每一条sql都是一个独立的事务 开启一个事务 BEGIN; START TRANSACTION; START TRANSACTION语句后边跟随几个修饰符,就是它们几个: READ WRITE:标识当前事务是一个只读事务 READ WRITE:标识当前事务是一个读写事务 WITH CONSISTENT SNAPSHOT:启动一致性读 提交事务