MySQL事务和锁02

  官网地址:MySQL :: MySQL 5.7 Reference Manual :: 13.3.2 Statements That Cannot Be Rolled Back

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

Mysql5.7参考手册  /  ...  /  不能回滚的语句

13.3.2不能回滚的语句

有些语句不能回滚。一般来说,这些包括数据定义语言(DDL)语句,例如创建或删除数据库的语句,创建、删除或更改表或存储例程的语句。

您应该设计您的事务不包括这样的语句。如果您在事务的早期发布了一个不能回滚的语句,然后又有一个语句失败了,那么在这种情况下,不能通过发布一个 ROLLBACK 声明。

MySQL :: MySQL 5.7 Reference Manual :: 13.3.3 Statements That Cause an Implicit Commit

Mysql5.7参考手册  /  ...  /  引起隐式提交的语句

13.3.3导致隐式提交的语句

本节中列出的语句(以及它们的任何同义词)隐式地终止当前会话中任何活动的事务,就像您已经完成了COMMIT 在执行声明之前。

这些语句中的大多数在执行后也会导致隐式提交.其目的是在自己的特殊事务中处理每个这样的语句,因为无论如何它都不能回滚。事务控制和锁定语句是例外:如果一个隐式提交发生在执行之前,另一个在执行之后不会发生。

  • 定义或修改数据库对象的数据定义语言(DDL)语句。 ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME , ALTER EVENT , ALTER PROCEDURE , ALTER SERVER , ALTER TABLE , ALTER TABLESPACE , ALTER VIEW , CREATE DATABASE , CREATE EVENT , CREATE INDEX , CREATE PROCEDURE , CREATE SERVER , CREATE TABLE , CREATE TABLESPACE , CREATE TRIGGER , CREATE VIEW , DROP DATABASE , DROP EVENT , DROP INDEX , DROP PROCEDURE , DROP SERVER , DROP TABLE , DROP TABLESPACE , DROP TRIGGER , DROP VIEW , INSTALL PLUGIN , RENAME TABLE , TRUNCATE TABLE , UNINSTALL PLUGIN .

    ALTER FUNCTION , CREATE FUNCTION 和 DROP FUNCTION 当使用存储函数时,也会导致隐式提交,但不能使用可加载函数。(ALTER FUNCTION 只能用于存储函数。)

    CREATE TABLE 和 DROP TABLE 声明不提交事务,如果TEMPORARY 关键词。(这并不适用于临时表格中的其他操作,例如:ALTER TABLE 和CREATE INDEX 会导致犯罪。)然而,虽然没有隐式提交发生,但是也不能回滚语句,这意味着这种语句的使用会导致违反事务原子性。例如,如果你使用CREATE TEMPORARY TABLE 然后回滚事务,表仍然存在.

    …CREATE TABLE 声明 InnoDB 作为一个事务处理。这意味着 ROLLBACK 用户不会撤销CREATE TABLE 用户在交易过程中所做的声明。

    CREATE TABLE ... SELECT 在创建非临时表时,导致在执行语句之前和之后的隐式提交。(没有提交CREATE TEMPORARY TABLE ... SELECT .)

  • 暗示使用或修改表的语句mysql 数据库。 ALTER USER , CREATE USER , DROP USER , GRANT , RENAME USER , REVOKE , SET PASSWORD .

  • 事务控制和锁定语句。 BEGIN , LOCK TABLES ,SET autocommit = 1 (如果价值还没有达到1), START TRANSACTION , UNLOCK TABLES .

    UNLOCK TABLES 只有在当前已锁定的表中有任何表的情况下才能执行事务。LOCK TABLES 获取非事务表锁。承诺不会发生在 UNLOCK TABLES 跟着地FLUSH TABLES WITH READ LOCK 因为后一个语句不会获得表级锁。

    事务不能嵌套。这是您在发布A时为任何当前事务执行的隐式提交的结果。START TRANSACTION 声明或其同义词之一。

    导致隐式提交的语句不能在事务位于 ACTIVE 国家。

    …BEGIN 声明不同于使用BEGIN 关键词开始 BEGIN ... END 复合陈述。后者不会引起暗示的承诺。看 第13.6.1节,"开始。..最后复合语句" .

  • 数据加载语句。 LOAD DATA . LOAD DATA 只对使用 NDB 存储引擎。

  • 行政报表。 ANALYZE TABLE , CACHE INDEX , CHECK TABLE , FLUSH , LOAD INDEX INTO CACHE ,OPTIMIZE TABLE ,REPAIR TABLE , RESET .

  • 复制控制语句 .START SLAVE ,STOP SLAVE , RESET SLAVE , CHANGE MASTER TO .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/654353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1002. HarmonyOS 开发问题:鸿蒙 OS 技术特性是什么?

1002. HarmonyOS 开发问题:鸿蒙 OS 技术特性是什么? 硬件互助,资源共享 分布式软总线 分布式软总线是多种终端设备的统一基座,为设备之间的互联互通提供了统一的分布式通信能力,能够快速发现并连接设备,高效地分发…

计算机网络——网络层(2)

计算机网络——网络层(2) 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 网络层——控制平面概述路由选择转发表路由协议路由信息的交换小结 路由选择算法常见的路由选择算法距离矢量路由算法工作原理优缺点分析 链路状态路由算法基本工作原理优…

【Java 设计模式】行为型之迭代器模式

文章目录 1. 定义2. 应用场景3. 代码实现结语 迭代器模式(Iterator Pattern)是一种行为型设计模式,用于提供一种顺序访问聚合对象中各个元素的方法,而不暴露聚合对象的内部表示。迭代器模式将遍历聚合对象的责任分离出来&#xff…

【详解】贪吃蛇游戏----下篇(完整源码)

目录 引入: 本片文章目的: 整个游戏的实现流程图如下: 游戏实现 GameRun PrintHelpInfo Pause NextIsFood printSnake EatFood NoFood KillByWall KillBySelf GameRun GameEnd 总代码: (1&#xff09…

pcie基础知识

文章目录 总线PCIEPCIE对应版本速率pcie拓扑linux查看pcie设备PCIE配置空间BAR(基地址寄存器) 总线 什么是总线 总线就是电脑内部交互的通道。 最开始CPU连接声卡或者网卡用的是不同接口,比如你声卡坏了,换一个声卡,接…

二叉搜索树操作题目:二叉搜索树中的插入操作

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:二叉搜索树中的插入操作 出处:701. 二叉搜索树中的插入操作 难度 3 级 题目描述 要求 给定二叉搜索…

Flutter Canvas 属性详解与实际运用

在Flutter中,Canvas是一个强大的绘图工具,允许我们以各种方式绘制图形、文字和图像。了解Canvas的属性是开发高度定制化UI的关键。在本篇博客中,我们将深入探讨Flutter中Canvas的一些重要属性,并展示它们在实际应用中的使用。 1.…

交互式变基是一个非常强大的Git功能,它允许您编辑、重排、合并或删除已经存在的提交记录

文章目录 在Git中,如果你想要合并两个连续的提交,你可以使用交互式变基(interactive rebase)。这个过程允许你重写提交历史,合并提交,修改提交信息等。下面是如何合并两次连续的提交的步骤: 注…

C# 一个快速读取写入操作execl的方法封装

这里封装了3个实用类ExcelDataReaderExtensions,ExcelDataSetConfiguration,ExcelDataTableConfiguration和一个实用代码参考: using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.T…

别再做“背锅侠”!软件测试工程师被开发吐槽,如何应对?

作为一名软件测试工程师,我们的角色可以算是“战场上的后勤”,战役的胜败和所有团队人员都息息相关。但是难免碰到战役失败后,很多团队互相推脱的局面,而测试人员就是所有团队中的弱势群体,自然是首当其冲的背锅侠&…

扫雷游戏(C语言)

目录 一、前言: 二、游戏规则: 三、游戏前准备 四、游戏实现 1、打印菜单 2、初始化棋盘 3、打印棋盘 4、布置雷 5、排雷 五、完整代码 一、前言: 用C语言完成扫雷游戏对于初学者来说,难度并不是很大,而且通…

一份轴承振动数据集摘引 - XJTU-SY2019

1.原始引用 我第一次看到这个数据集是在知乎: XJTU-SY数据集轴承故障诊断 - 知乎XJTU-SY数据集包含了3种工况下的15个滚动轴承的全寿命周期振动信号,且明确标注了每个轴承的失效部位,相关论文如下:[1]雷亚国,韩天宇,王彪,李乃鹏…

人工智能与低代码开发: 创新技术的未来

本文将探讨人工智能与低代码开发两个创新技术的结合,并为读者展示这种结合对未来技术发展的巨大潜力。我们将介绍人工智能和低代码开发的概念,并探讨它们分别在软件开发领域的作用。接着,我们将讨论它们如何相互影响和协作,以及它…

分享|2024年7款好用的电脑监控软件

电脑监控软件作为现代企业管理中不可或缺的一部分,能够帮助管理者们更好地管理和监控员工电脑的使用情况,保障企业的信息安全和机密数据的保密。在2024年,电脑监控软件哪些会更受欢迎? 1.绿虫 优势:具有目前市面上所…

如何写出一篇合格且优秀的硕士毕业论文

一、软件、插件推荐 谷歌浏览器、Edge浏览器(有自动翻译成中文的小插件) Scholarscope、EasyPubmed(浏览器插件,显示影响因子,被引用的次数,链接) 知云文献翻译(文献阅读软件) Endnote X9(插…

动态添加字段和注解,形成class类,集合对象动态创建Excel列

一.需求 动态生成Excel列&#xff0c;因为Excel列是通过类对象字段注解来添加&#xff0c;在不确定Excel列数的情况下&#xff0c;就需要动态生成列&#xff0c;对应类对象字段也需要动态生成&#xff1b; 二.ByteBuddy字节码增强动态创建类 1.依赖 <dependencies><…

DS:经典算法OJ题(1)

创作不易&#xff0c;友友们给个三连呗&#xff01;&#xff01; 本文为经典算法OJ题练习&#xff0c;大部分题型都有多种思路&#xff0c;每种思路的解法博主都试过了&#xff08;去网站那里验证&#xff09;是正确的&#xff0c;大家可以参考&#xff01;&#xff01; 一、移…

常用芯片学习——LM2596芯片

LM2596 3A降压型稳压器 使用说明 LM2596开关电压调节器是降压型电源管理单片集成电路&#xff0c;能够输出最大3A的驱动电流&#xff0c;同时具有很好的线性和负载调节特性。芯片按照输出版本可分为四种&#xff0c;分别是3.3V、5V、12V、ADJ&#xff08;可调版本&#xff09…

一文读懂Python中的映射

python中的反射功能是由以下四个内置函数提供&#xff1a;hasattr、getattr、setattr、delattr&#xff0c;改四个函数分别用于对对象内部执行&#xff1a;检查是否含有某成员、获取成员、设置成员、删除成员。 获取成员: getattr class Foo:def __init__(self, name, age):se…

【command】使用nr简化npm run命令

参考文章 添加 alias nrnpm run通过alias启动命令可以帮助我们节省运行项目输入命令的时间 $ cd ~ $ vim .bash_profile $ source ~/.bashrc