本篇文章给大家带来的内容是浅谈MySQL事务管理(基础),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。事务处理用来维护数据库等完整性,保证mysql操作要么成功,要么失败(myisam不支持事务)

1、关键词事务(transaction)指一组SQL语句;

回退(rollback)指撤销指定SQL语句的过程;

提交(commit)指将未存储的SQL语句结果写入数据库表;

保留点(savepoint)指事务处理中设置的临时占位符(place-holder),你可以对它发布回退(与回退整个事务处理不同)。

2、使用rollbackselect * from orderitems;

START TRANSACTION;

DELETE FROM orderitems;

select * from orderitems;

ROLLBACK;

select * from orderitems;

3、使用commitSTART 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;

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注Gxl网相关教程栏目!!!

mysql如何管理事务管理_浅谈MySQL事务管理(基础)相关推荐

  1. MySQL子查询的优缺点_浅谈mysql的子查询

    浅谈mysql的子查询 mysql的子查询的优化一直不是很友好,一直有受业界批评比较多,也是我在sql优化中遇到过最多的问题之一,你可以点击这里 ,这里来获得一些信息,mysql在处理子查询的时候,会 ...

  2. mysql存储过程set什么意思_浅谈MySQL存储过程中declare和set定义变量的区别

    在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...

  3. mysql自定义函数的优缺点_浅谈MySQL创建自定义函数漏洞的利用和防止

    前一阵子网上风靡的MySQL的udf.dll提权我有所了解-近日由于不再在IDC行业工作了-所以也有所淡忘- 只是最近实在手痒,就决定对我的站点所在的服务器下手--.正好用上这招了- 站点的服务器是W ...

  4. mysql锁的应用场景_浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景

    Mysql共享锁.排他锁.悲观锁.乐观锁及其使用场景 一.相关名词 |--表级锁(锁定整个表) |--页级锁(锁定一页) |--行级锁(锁定一行) |--共享锁(S锁,MyISAM 叫做读锁) |-- ...

  5. mysql笛卡尔积查询很慢_浅谈MySQL使用笛卡尔积原理进行多表查询

    我就废话不多说了,大家还是直接看代码吧~create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$declare ...

  6. mysql inner和left优化_浅谈mysql中的left join和inner join性能及优化策略

    前言 看一下 下面的sql语句:select * from a left join b on a.x = b.x left join c on c.y = b.y 这样的多个left join组合的时 ...

  7. mysql事务的管理方式_浅谈MySQL事务管理(基础)

    本篇文章给大家带来的内容是浅谈MySQL事务管理(基础),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.事务处理用来维护数据库等完整性,保证mysql操作要么成功,要么失败(myisa ...

  8. 支付宝的数据库是MySQL变种_浅谈MySql的储存引擎(表类型)

    浅谈mysql的存储引擎(表类型) 什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库, ...

  9. mysql revoke 授权_浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利 grant selec ...

  10. mysql 用户通配符_浅谈mysql通配符进行模糊查询的实现方法

    在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符. 首先我们来了解一下2个概念,一个是操作符,一个是通配符. 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后 ...

最新文章

  1. linux查看安装的所有内核,Linux怎么查看系统已安装内核
  2. mysql 语句碎片
  3. android 字体像素转换工具类_Android中px与dip,sp与dip等的转换工具类
  4. Python使用os.listdir()函数来得目录内容的介绍
  5. python 股票指标库talib_TaLib在股票技术分析中的应用
  6. Ubuntu14.04 x64系统设置Qt5.8桌面快捷方式
  7. div 包裹_如何查看到达之前收到的包裹和邮件
  8. 7-7 旅游规划 (8 分)
  9. sitck-breaking折棍法理解
  10. 安卓ttf格式的字体包_字体 | 新游黑体(游)精巧的日系字体~
  11. GNOME-Shell-Extensions开发经验(一)Hello,world!
  12. qt制作简易的视频通话
  13. CAD中如何快速找到两直线交点?
  14. 应届毕业生2012求职之路
  15. MSSQL2019+Linux7, The SQLServerAgent is not currently running, so it cannot be notified of this
  16. Debian 查看 硬盘 SD卡 容量 内存大小
  17. 【已解决】笔记本电脑连接wifi异常(无法连接到这个网络)
  18. BTree和B+Tree详解结构
  19. 【TensorFlow学习笔记】完美解决 pip3 install tensorflow 没有models库,读取PTB数据
  20. How to exploit MySQL index optimizations

热门文章

  1. 释放pytorch占用的gpu显存_pytorch程序异常后删除占用的显存操作
  2. idesk卸载教程_iDesk助手使用帮助
  3. cupsd进程_Linux进程基础
  4. CSS:使用CSS绘制三角形
  5. LMM(LightMoonMovie)亮月湾电影分享管理系统;
  6. 全局拉普拉斯平滑之(1)Strucutre extraction from texture via relative total variation及稀疏矩阵求解
  7. Visual Studio 2013中.dll文件的显式调用方法
  8. 深度学习笔记(三)——GAN入门实现MNIST数据集
  9. springMVC入门二
  10. tp5 + 百度编辑器 +七牛云存储的实现办法