MySQL事务处理
来源:互联网 发布:php 图片水印 编辑:程序博客网 时间:2024/06/07 13:27
事务是保证底层数据完整的重要手段,没有事务支持的数据库应用,那将非常脆弱。
事务是由一步或者几步数据库操作序列组成的逻辑执行单元,这些操作要么全部执行,要么全部放弃执行。
事务是DBMS的执行单位,不是任意的数据库操作序列都能成为事务。事务具有如下4个基本特征(ACID):
- 原子性(Atomicity):事务是应用中不可再分的最小逻辑执行体。
- 一致性(Consistency):事务执行的结果必须使数据库从一个一致性状态,变到另一个一致性状态。当数据库只包含事务成功提交的结果时,数据库处于一致性状态。
- 隔离性(Isolation):并发执行的事务之间不能相互影响,任何一个事务的内部操作对其他事务来说都是隔离的。
- 持续性(Durability):事务一旦提交,对数据库所做的任何改变都要记录到永久存储器中
MYSQL的事务处理主要有两种方法。
1、用begin,rollback,commit来实现
begin 开始一个事务
rollback 事务回滚
commit 事务确认
2、直接用set来改变mysql的自动提交模式
MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过
set autocommit=0 禁止自动提交,开启了事务
set autocommit=1 开启自动提交
来实现事务的处理。
1、用begin,rollback,commit来实现
begin 开始一个事务
rollback 事务回滚
commit 事务确认
2、直接用set来改变mysql的自动提交模式
MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过
set autocommit=0 禁止自动提交,开启了事务
set autocommit=1 开启自动提交
来实现事务的处理。
MySQL默认关闭事务(即打开自动提交)。
事务回滚有两种方式:显示回滚和自动回滚。
- 显示回滚:使用rollback;
- 自动回滚:系统出错或者强行退出。
一个MySQL的命令行窗口代表一次连接Session,在该窗口中设置set autocommit = 0不会影响其他连接。此外,如果不想关闭整个窗口的自动提交,而只是想临时性地开始事务,则可以使用start tranction 或begin两个命令,它们都表示临时性地开始一次事务,处于start tranction 或begin后的DML不会立即生效,除非使用commit显示提交事务,或者执行DDL、DCL语句来隐式提交事务。
除此之外,MySQL还提供了savepoint来设置事务的中间点,可以让事务回滚到指定中间点。回滚到中间点因为依然处于事务之中,所以不会结束当前事务。
savepoint a;rollback to a;
0 0
- mysql事务处理
- mysql事务处理
- mysql事务处理
- MySQL事务处理
- mysql 事务处理
- mysql 事务处理
- mysql事务处理
- MySQL事务处理
- mysql事务处理
- mysql 事务处理
- MYSQL--事务处理
- MYSQL--事务处理
- MySQL事务处理
- MYSQL--事务处理
- mysql 事务处理
- MYSQL-事务处理
- MYSQL--事务处理
- MYSQL-- 事务处理
- 2010年11月份软件设计师:设计模式(观察者模式,组合模式)
- 调试的错误就是编程给你最好的东西,因为在每个错误上面都标志着前进的一步。
- poj 3237 树链剖分
- 文本分类入门(三)统计学习方法
- iOS开发之理解iOS中的MVC设计模式
- MySQL事务处理
- 统计文件的代码
- 【项目管理】Sonatype Nexus,Maven私服
- Linq To Entity 的增删改查(转)
- 连通图里的深度优先和广度优先遍历
- gene ID转换
- 计算机英语名词解释之软件工程篇
- 架构是一种妥协
- 薪资调研报告