码迷,mamicode.com
首页 > 数据库 > 详细

Mysql学习(一) 事务

时间:2017-05-31 00:20:14      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:mysq   完整性约束   相互   共享   相同   故障   步骤   ack   事务   

1.事务的四大特性(ACID)

以转账业务来分析。

A.原子性

事务的操作步骤不可分割,要么全都成功,要么全部失败。A给B转账,A如果扣款,B必须增加余额,A和B的账户变化同时成功,或者同时失败。

B.一致性

事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。

例如完整性约束a+b=10,一个事务改变了a,那么b也应随之改变。

C.隔离性

并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。假如并发交叉执行的事务没有任何控制,操纵相同的共享对象的多个并发事务的执行可能引起异常情况。

D.持久性

持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,即对已提交事务的更新能恢复。持久性通过数据库备份和恢复来保证。

 

2.事务的开始和结束

A.事务的开始使用 start transaction命令

B.事务的结束使用commit或者rollback命令(rollback可以让事务回滚到事务开始前的状态)

Mysql学习(一) 事务

标签:mysq   完整性约束   相互   共享   相同   故障   步骤   ack   事务   

原文地址:http://www.cnblogs.com/blogforvi/p/6921807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!