事务的四个特性和语法
事务的四个特性
原子性、一致性、隔离性、持久性
1)原子性:事务具有原子的特性,事务不可分割。一个原子事务要么完整执行,要么不执行。事务中每项任务都必须正确执行,如果有1个任务失败,整个事务就会被终止,之前的数据操作也会被撤销。
即所有的操作要么全部成功,要么全部失败回滚。
2)一致性:事务必须使数据可从一个一致性状态变换到另一个一致性状态。一个事务执行之前和执行之后都必须处于一致性状态。
举例:转账,甲和乙用户账户中的总金额为5000,则他们之间无论相互转多少钱,转多少次,总金额都是5000。都处于5000这个一致性状态。
3)隔离性:事务之间互不干扰(可串行化的隔离级别)
当多个用户并发访问数据库,访问同一张表时,数据库为每个用户开启的事务,不能被其他事务的操作所干扰。
4)持久性
一个事务一旦被提交了,那么对数据库中的数据的改变是永久性的。
mysql中事务的语法
set autocommit=0 #取消自动提交
start transaction #开启事务(可省略)
savepoint name1
commit
rollback/
rollback to savepoint name1