mysql操作事务

事务是一组sql语句的管理单元,当所有的sql语句都执行成功后,才提交结果给服务器,让真正的数据发生实质性改变,并且是永久的。

开启一段事务后,所执行的sql语句结果,会保存在事务日志中,当所有的sql语句都执行成功后,将执行的结果提交给服务器。


成功:提交(commit)

失败:回滚事务到最初的开始点,也就是我们开启事务执行的第一条sql语句之前那个位置。(rollback)


开启事务方法:

  1. set  @@autocommit=0     取消自动提交,commit过后执行的sql语句 结果提交至服务器中,随后执行的sql语句已然存在事务日志,并未提交至服务器数据库中。
  2. start   transaction               执行过后,commit提交结果后,结束事务日志,随后执行的sql语句结果,会自动提交至服务器中。
  3. begin                                    此方法不推荐。


开启事务的前提是需要数据库引擎支持为前提的,所以在开启事务之前要show create table  table_name  看看是不是innodb。


事务的特点:

  1. 原子性(功能特点都相同)。 atomicity
  2. 在事务开始到事务结束期间,事务数据受事务控制,这是事务的一致性。consistency
  3. 两个事务是独立的。isolation
  4. 事务一旦提交,数据已经永久改变,不能rollback,持久性。durability


统称为ACID特点。


mysam 没有InnoDB处理并发的能力没有InnoDB强。因为在mysam中有个锁的机制。一处提交则另外一处不能进行修改。

(隔离级别概念)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值