数据库事物讲解

数据库事务:一般来讲是指数据库访问逻辑中一个最小的不可再分的工作单元;是一组对数据库的相对完整的逻辑单元操作。一个数据库事务,可以是一条SQL语句,也可以是一组SQL语句。
我们来看一个例子,比如,账户A向账户B转账100元,那么账户A必须减少100元,而账户B必须增加100元。这个操作是不可能分开的,是一个原子操作。账户A必须减少100元而账户B必须增加100元,不能出现A减少100元,B没有增加100元,也不能出现A没有减少100元,B增加了100元。操作必须是同时成功的或者同时失败的,必须是一致的。A和B的操作,是不能受到其他事务的干扰的从而影响结果的正确执行,并发的事务之间是需要隔离起来的,而且这个操作进行之后,A账户,和B账户的操作结果不可改变,必须把操作数据记录到磁盘,这是一个持久状态。以上就是数据库事务必须具备的四大特性。原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability),俗称ACID四大特性或四大原则。

在很多人的观念里,提到数据事务就是ACID四大原则,但是这四大原则是由谁来保障的呢?答案当然是数据库了。比如MYSQL数据库,你用MYISAM引擎的表搞搞事务试试?所以,要做数据库事务得有一个大前提,数据库必须是支持事务的。
如果使用的是INNODB引擎的表,默认情况下是开启了事务自动提交的,在不使用 start transation语句的情况下,任何一个insert update语句都是自动提交的,另外,insert update语句都是一个原子级操作噢,总不能写一条数据,或者修改一条数据还存在,只修改一半的情况吧?这一点先了解下,以后的学习中自由妙用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值