26 管理事务处理
来源:互联网 发布:串口调试软件 编辑:程序博客网 时间:2024/06/08 06:16
事务处理:
维护数据库的完整性,保证成批的MySQL操作,要么完全执行,要么完全不执行。
具体操作:
如果没有发生错误,则整组语句提交给数据库表;如果发生错误,则进行回退,以恢复数据到某个已知且安全的状态。
相关术语:
- 事务(transaction),指一组SQL语句;
- 回退(rollback),指撤销指定SQL语句的过程;
- 提交(commit),指未存储的SQL语句结果写入数据库表;
- 保留点(savepoint),指事务处理过程中设置的临时占位符,可以对它发布回退。
哪些语句不能回退:
create 或drop操作(也就是执行回退,它们并不会被撤销。)
控制事务处理:
事务的开始:
start transaction
使用回退(rollback):
select * from ordertotals; //显示ordertotals表的内容,不为空
start transaction; //开始事务处理
delete from ordertotals; //删除ordertotals表所有行
selete * from ordertotals; //显示ordertotals表确实为空
rollback; //回退(撤销)start transaction之后的所有语句
selete * from ordertotals; //显示ordertotals表不为空
显然:rollback只能在一个事务处理内使用。
使用提交(commit)
一般的MySQL语句,提交是自动进行的。
但在事务处理块中,提交不会隐含地进行。
例:确保完全删除订单20010
start transaction;
delete from orderitems where order_num=20010;
delete from orders where order_num=20010;
commit;
隐含事务关闭
当commit或rollback语句执行后,事务会自动关闭。
使用保留点
对简单的事务可以整个提交、回退;但是复杂的事务,需要部分提交、回退。
实现:
在合适的位置放置占位符,在需要的时候,可以会退到占位符。
savepoint deletel;
rollback deletel;
保留点在执行一条rollback或commit后自动释放。
更改默认提交
set autocommit=0; //指示MySQL不自动提交更改。
autocommit决定是否自动提交更改,不管有没有commit。
阅读全文
0 0
- 26 管理事务处理
- 关于mysql管理事务处理
- hibernate_事务处理、session管理
- 第二十课 管理事务处理
- SQL必知必会 笔记 第二十章 管理事务处理
- Mysql必知必会(笔记)【管理事务处理】
- 读书笔记--SQL必知必会20--管理事务处理
- [MYSQL -26]控制事务处理
- 事务处理
- 事务处理
- 事务处理
- 事务处理
- 事务处理
- 事务处理
- 事务处理
- 事务处理
- 事务处理
- 事务处理
- CSS与HTML结合的方式
- UITextFieldDelegate
- Linux字符设备驱动之LCD驱动
- text-overflow文本溢出的全兼容CSS代码
- Python 中文编码
- 26 管理事务处理
- kAFL:OS内核的硬件辅助反馈模糊
- 设计模式之适配器模式
- js 简单工厂模式
- 图像分割crop设置 caffe fully convolutional cnn
- ionic2开发(五)返回按钮处理
- Angular 文件上传自定义
- E: Unable to locate package oracle-java7-installer [Ubuntu 13]
- apache-ab并发负载压力测试