mysql事务

沐雨青丝 沐雨青丝     2022-07-30     339

关键词:

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

  • 在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务
  • 事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行
  • 事务用来管理insert,update,delete语句

一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)

  • 1、事务的原子性:一组事务,要么成功;要么撤回。
  • 2、稳定性 : 有非法数据(外键约束之类),事务撤回。
  • 3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
  • 4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候吧事务保存到日志里。

在Mysql控制台使用事务来操作

1,开始一个事务

start transaction

2, 做保存点

save point 保存点名称

3, 操作

4,可以回滚,可以提交,没有问题,就提交,有问题就回滚。

PHP中使用事务实例

<?php
$handler=mysql_connect("localhost","root","password");
mysql_select_db("task");
mysql_query("SET AUTOCOMMIT=0");//设置为不自动提交,因为MYSQL默认立即执行
mysql_query("BEGIN");//开始事务定义
if(!mysql_query("insert into trans (id) values(‘2‘)"))
{
mysql_query("ROLLBACK");//判断当执行失败时回滚
}
if(!mysql_query("insert into trans (id) values(‘4‘)"))
{
mysql_query("ROLLBACK");//判断执行失败回滚
}
mysql_query("COMMIT");//执行事务
mysql_close($handler);
?>

深入剖析mysql事务和spring事务(代码片段)

本文分享一些关于Mysql如何解决多事务并发的问题和Spring源码是怎么控制事务以及一些事务失效的场景。分享内容Mysql事务隔离机制锁机制MVCC多版本并发控制隔离机制Spring事务应用和源码分析事务失效问题一、Mysql事务数据库的... 查看详情

mysql的事务和引擎,注意细品(代码片段)

mysql事务和引擎一、MySQL事务(一)、MySQL事务的概念(二)、事务的ACID特点1、ACID特点2、数据不一致产生的结果:(三)、事务的隔离1、MySQL事物隔离级别1.1查询全局事务隔离级别1.2查询会话事务隔离级别1.3设... 查看详情

mysql事务(代码片段)

文章目录MySQL事务一、事务的两种操作1.手动提交事务2.自动提交事务二、事务四大特性三、事务隔离级别MySQL事务一、事务的两种操作1.手动提交事务语句功能starttransaction;或者BEGIN;开启事务commit;提交事务rollback;回滚事务手动提... 查看详情

17mysql事务

事务特性MySQL事务是一组SQL语句,它们被视为单个工作单元,要么全部执行成功,要么全部失败回滚。MySQL使用事务来保证在多个并发用户之间的数据一致性。MySQL事务遵循ACID原则,即:原子性(Atomicity):一个事务是一个不可... 查看详情

重新整理mysql基础篇—————mysql事务[三](代码片段)

前言简单整理一下事务。正文事务有四大特性:1.原子性(atomicity)一个事务必须被视为一个不可分割的最小单元。2.一致性(consistency)数据库总是从一个一致性的状态转换到另一个一致性的状态。很多人对事务的一致性和原子性可能... 查看详情

springbootmysql事务

mysql默认事务自动提交。即:每条insert/update/delete语句,不需要程序手工提交事务,而是mysql自行提交了。 如果我们想实现程序事务提交,需要事先关闭mysql的自动提交事务。 但是,如果采用spring管理事务,不需要实现关... 查看详情

PDO 事务函数与 MySQL 事务语句?

】PDO事务函数与MySQL事务语句?【英文标题】:PDOtransactionfunctionsvsMySQLtransactionstatements?【发布时间】:2015-02-1201:37:07【问题描述】:PDO提供启动、提交和回滚事务的功能:$dbh->beginTransaction();$sth=$dbh->prepare(\'...\');$sth->execute... 查看详情

mysql分布式事务

关于Mysql分布式事务介绍,可参考:http://blog.csdn.net/luckyjiuyi/article/details/46955337分为两个阶段:准备和执行阶段。有两个角色:事务的管理者(TM)和事务执行者(RM,MysqlServer).XASTART 事务启动标识,使事务处于ACTIVE状态XAEND ... 查看详情

mysql事务(代码片段)

文章目录二、MySQL事务2.1、事务的概念2.2、事务的ACID特点①原子性(Atomicity)②一致性(Consistency)③隔离性(Isolation)ⅰ查询全局事务隔离级别:ⅱ查询会话事务隔离级别ⅲ设置全局事务隔离级别ⅳ... 查看详情

mysql事务(代码片段)

文章目录二、MySQL事务2.1、事务的概念2.2、事务的ACID特点①原子性(Atomicity)②一致性(Consistency)③隔离性(Isolation)ⅰ查询全局事务隔离级别:ⅱ查询会话事务隔离级别ⅲ设置全局事务隔离级别ⅳ... 查看详情

mysql事务篇:acid原则事务隔离级别及事务机制原理剖析

引言众所周知,​​MySQL​​数据库的核心功能就是存储数据,通常是整个业务系统中最重要的一层,可谓是整个系统的“大本营”,因此只要​​MySQL​​存在些许隐患问题,对于整个系统而言都是致命的。那此刻不妨思考一... 查看详情

mysql进阶—事务

事务事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,所以这些操作要么同时成功,要么同时失败。事务的四大特性:原子性(Atomicity):事务是不可分割... 查看详情

mysql事务

查看详情

MySQL中是不是允许嵌套事务?

】MySQL中是不是允许嵌套事务?【英文标题】:ArenestedtransactionsallowedinMySQL?MySQL中是否允许嵌套事务?【发布时间】:2010-11-2108:50:40【问题描述】:MySQL是否允许使用嵌套事务?【问题讨论】:mysql不支持嵌套事务【参考方案1】:... 查看详情

mysql事务的简单理解

一、什么是事务。知道事务,要先了解mysql的引擎,在5.5版本以前mysql的引擎默认是MyISAM,到了Mysql5.5版本以后,才有了InnoDB,两者的区别之一就是InnoDB支持事务。事务就是进行一次处理的基本单元,要么完全执行,要么都不执行... 查看详情

mysql事务—基本流程

 参考:《mysql内核:innodb存储引擎》 第十三章      MySQL·引擎特性·InnoDB事务系统:http://mysql.taobao.org/monthly/2017/12/01/        MySQL·引擎特性·InnoDB事务子系统介绍:http://mysql.taobao.org/monthly/2015/12 查看详情

mysql如何查询数据库事务是只读事务还是读

查看MySQL客户端的事务提交方式命令:select@@autocommit;修改MySQL客户端的事务提交方式为手动提交命令:set@@autocommit=0;(注:0表示手动提交,即使用MySQL客户端执行SQL命令后必须使用commit命令执行事务,否则所执行的SQL命令无效,... 查看详情

mysql的事务详解(代码片段)

...ySQL✨一句短话:难在坚持,贵在坚持,成在坚持!文章目录一.事务的业务场景二.事务的使用三.事务的特性(ACID)1.原子性(Atomicity)2.一致性(Consistency)3.持久性(Durability)4.隔离性(Isolation)四.事务并发异常1.脏读2.不可重复读3.幻读四.MySQL的... 查看详情