博主信息
富贵人生
博文
87
粉丝
0
评论
0
访问量
3151
积分:0
P豆:174

请说说MySQL中的事务

2021年10月15日 22:31:45阅读数:24博客 / 富贵人生

事务具有四大特性(ACID):

原子性(Atomic):一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样一致性(Consistency):在事务开始之前和事务结束以后, 数据库的完整性没有被破坏隔离性(Isolation):数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)持久性(Durability):事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失

 

事务控制:

BEGIN 或 START TRANSACTION 显式地开启一个事务COMMIT 会提交事务,使已对数据库进行的所有修改成为永久性的ROLLBACK 回滚,会结束用户的事务,并撤销正在进行的所有未提交的修改SAVEPOINT identifier,SAVEPOINT 允许在事务中创建一个保存点,一个事务中可以有多个 SAVEPOINTRELEASE SAVEPOINT identifier 删除一个事务的保存点,没有指定的保存点执行该语句会抛出一个异常ROLLBACK TO identifier 把事务回滚到标记点SET TRANSACTION 用来设置事务的隔离级别

 

MYSQL 事务处理的方法:

1、用 BEGIN, ROLLBACK, COMMIT来实现

BEGIN 开始事务ROLLBACK 事务回滚COMMIT 事务确认

 

2、直接用 SET 来改变提交模式:

SET AUTOCOMMIT=0 禁止自动提交游戏账号转让地图SET AUTOCOMMIT=1 开启自动提交

 

注意:

MySQL 的事务控制是表引擎上处理,有些引擎是不支持事务的不支持事务的表上执行事务操作,MySQL不会发出提醒,也不会报错


版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 本篇文章带大家了解一下MySQL隔离,介绍一下特性、隔离级别、启动方式等,希望对大家有所帮助!
    本篇文章是MySQL进阶学习,给大家详细介绍一下MySQL、4大特性(ACID)以及隔离级别,希望对大家有所帮助!
    本篇文章通过四个案例带你了解 MySQL隔离级别,希望对大家有所帮助!
    mysql是一组原子性SQL查询,或者一个独立工作单元,语句,要么全部执行成功,要么全部执行失败;需要符合“原子性”、“一致性”、“隔离性”。
    linux下检测是否安装了mysql方法:执行【service mysqld start】命令,如果提示【mysqld:未被识别】,明系统没有安装mysql,如果成功启动了mysql明已安装
    mysql锁粒度就是我们通常所锁级别。数据库引擎具有多粒度锁定,允许一个锁定不同类型资源。mysql数据库有三种锁级别,分别是:页级锁、表级锁和行级锁。
    HTTP状态码用处是用Web Server服器用来告诉客户端,当前网页求发生了什么,或者当前Web服响应状态,所以HTTP状态码常用来判断和分析当前Web服运行状况。
    操作对很多新人来,可能有点陌生,即使看了ThinkPHP6官方手册操作部分,也仍然不知所解。下面就给大家介绍下操作。一、先使用场景。
    查看本机是否安装了mysql方法:1、按【win+r】快捷键打开运行;2、输入services.msc,点击【确定】;3、在打开列表查找mysql,如果没有mysql明本机没有安装
    swoole框架栏目介绍传统nginx+FPM模式PHP程序而言,每次求FPMworker都会连接一次mysql,然后求结束便会断开连接。
    对于MySQLi来和预处理语句当然是它之所以能够淘汰MySQL扩展资本。我们之前也已经学习过了PDO关于和预处理语句相关内容。
    在laravel,路由是外界访问Laravel应用程序通路,或者路由定义了Laravel应用程序向外界提供服具体方式。
    MySQL幻读解决方法:1、MVCC快照,将历史数据存一份快照,在其增加与删除数据时,保证当前是不可见;2、“next-key”锁,将当前数据行与上一条数据和下一条数据之间间隙锁定,保证此范围内读取数据是一致
    vue-resource是【Vue.js】一款插件,它可以通过XMLHttpRequest或JSONP发起求并处理响应,也就是,【$.ajax】能做情,【vue-resource】插件一样也能做到
    理论上应用程序里指令可以分成央处理器(CPU)指令集以及用于向操作系统求特定这两类。指令是指告诉计算机从某一特殊运算代码,一条指令通常由操作码和地址码组成。
    PHP 7比【5.x】快上很多,即使只有单纯版本升级就已经很有感,不过大家还是希望它变得越来越快,这时再做些小调整就会更快,前准备到PHP 7,那一定跑不了LAMP或是LEMP,先准备好底层服安装
    本文演示CentOS安装openJDK,明:服器操作,采用root用户操作,若存在权限问题,切换 root用户或授权当前用户相关权限,本文不做赘述。
    在微信小程序开发,由wx.request()发起每次求对于服端来都是不同一次会话,微信小程序不会把session信息带回服端,即对应服端不同session,由于项目使用session
    区别:QPS指是“每秒查询率”;而TPS指是“数/秒”。
    mysql,但只有使用了Innodb数据库引擎数据库或表才支持