博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL-事务管理(基础)
阅读量:5924 次
发布时间:2019-06-19

本文共 835 字,大约阅读时间需要 2 分钟。

事务处理用来维护数据库等完整性,保证mysql操作要么成功,要么失败(myisam不支持事务)

1、关键词

  1. 事务(transaction)指一组SQL语句;
  2. 回退(rollback)指撤销指定SQL语句的过程;
  3. 提交(commit)指将未存储的SQL语句结果写入数据库表;
  4. 保留点(savepoint)指事务处理中设置的临时占位符(place-holder),你可以对它发布回退(与回退整个事务处理不同)。

2、使用rollback

select * from orderitems;START TRANSACTION;DELETE FROM orderitems;select * from orderitems;ROLLBACK;select * from orderitems;

3、使用commit

START TRANSACTION;DELETE FROM orderitems where order_num = 20010;DELETE FROM orders WHERE order_num = 20010;COMMIT

假设第二条删除失败,回滚,撤销事务处理块内的语句

4、使用保留点

复杂的事务处理可能需要部分提交或回退。

为了支持回退部分事务处理,必须能在事务处理块中合适的位置放 置占位符。这样,如果需要回退,可以回退到某个占位符。
这些占位符称为保留点。为了创建占位符,可如下使用SAVEPOINT

创建保留点
SAVEPOINT delete1

回退到保留点

ROLLBACK TO delete1

tips

保留点越多越好,方便灵活使用,but没必要到就算来哈!凡事适可而止

释放保留点

  1. 保留点在事务处理完成(执行一条ROLLBACK或 COMMIT)后自动释放
  2. release savepoint delete1明确释放保留点

5、更改默认到提交行为

mysql是自动提交所有更改。

不自动提交更改

set autocommit = 0;

转载地址:http://imavx.baihongyu.com/

你可能感兴趣的文章
IntentService用法
查看>>
echo -n 和echo -e 参数意义
查看>>
Buildroot stress-ng Linux系统压力测试
查看>>
PropertiesUtil 获取文件属性值
查看>>
Linux日志出现大量"kernel: NET: Registered protocol family 36"
查看>>
BZOJ1509: [NOI2003]逃学的小孩(树的直径)
查看>>
性能优化8--内存泄露
查看>>
JSP+JavaBean+Servlet技术(MVC模型)
查看>>
pandas DataFrame 数据处理常用操作
查看>>
pandas所占内存释放
查看>>
Question | 网站被黑客扫描撞库该怎么应对防范?
查看>>
jqGrid('setSelection',rowid)报Cannot read property 'multiple' of undefined
查看>>
接口文档神器Swagger(下篇)
查看>>
MySQL之 从复制延迟问题排查
查看>>
Install OpenCV-Python in Ubuntu
查看>>
电商行业运维实践
查看>>
智课雅思词汇---二十二、-al即是名词性后缀又是形容词后缀
查看>>
WPF 获取鼠标屏幕位置、窗口位置、控件位置
查看>>
ExecutorService——shutdown方法和awaitTermination方法
查看>>
WPF遍历当前容器中某种控件的方法
查看>>