问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql事务 如何判断一条语句执行错误后进行事务回滚

发布网友 发布时间:2022-04-22 01:20

我来回答

1个回答

热心网友 时间:2022-04-09 07:15

1、为什么auto_increament没有回滚?
因为innodb的auto_increament的计数器记录的当前值是保存在存内
存中的,并不是存在于磁盘上,当mysql
server处于运行的时候,这个计数值只会随着insert改增长,不会随着delete而减少。而当mysql
server启动时,当我们需要去查询auto_increment计数值时,mysql便会自动执行:SELECT
MAX(id)
FROM
表名
FOR
UPDATE;语句来获得当前auto_increment列的最大值,然后将这个值放到auto_increment计数器中。所以就算
Rollback
MySQL的auto_increament计数器也不会作负运算。
2、MySQL的事务对表操作的时候是否是物理操作?
MySQL的事务是有redo和undo的,redo操作的所有信息都是记录到
redo_log中,也就是说当一个事务做commit操作时,需要先把这个事务的操作写到redo_log中,然后再把这些操作flush到磁盘上,当
出现故障时,只需要读取redo_log,然后再重新flush到磁盘就行了。
而对于undo就比较麻烦,MySQL在处理事务时,会在数据共享
表空间里申请一个段叫做segment段,用保存undo信息,当在处理rollback,不是完完全全的物理undo,而是逻辑undo,就是说会对之
前的操作进行反操作,但是这些共享表空间是不进行回收的。这些表空间的回收需要由mysql的master
thread进程来进行回收。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
招聘和招募和招收区别 人力资源中招聘与招募的区别 招聘与招募有啥区别 夏日繁星公众号可信吗 关于“红杏出墙”的古诗词描写有哪些 需要考多少分才过雅思 雅思考试多少分才可以算及格 雅思考试多少分算及格 雅思的总分多少分及格 雅思一般考多少分能合格 mysql select 会开启事务吗 mysql数据库有没有开启事物处理 mysql中开启事物的语句有哪些 Mysql中的事务是什么如何使用 MYSQL5.5中如何使用事务? mysql 增删改查操作哪些是支持事务的 什么叫mysql事务? mysql中事务一定要显示的开启吗 mysql 的事务隔离级别 及各个隔离级别应用场景,详细 mysql 怎么看元数据锁被哪个事务堵塞了 mysql如何查看未提交事务的语句? mysql怎么查看事务超键时间 mysql 如何查询数据库事务是只读事务还是读 如何查询mysql事务未提交 移动光猫联接无线路由器怎么设置? 一般公司的住房公积金缴存比例是多少 公积金缴费比例 求一个新手转笔教程,有图,有视频或有文字说明都得 求转笔的视频!!!!!! 住房公积金的缴存比例是多少啊 如何查看MySQL的binlog数据 路由器怎么设置手机能连上WIFI但上不了网? 路由器能连上但是上不了网 大一新生学c语言用什么软件? 计算机二级c语言都用什么软件 智能网关和普通路由器有什么区别? 小米网关和路由器区别 物联网网关,工业智能网关与路由器是一个东西吗? 海南省人口与计划生育条例的修改决定 产假国家规定多少天,海南省产假及二胎产假国家新规定 路由器可以代替网关吗? 婚假有效期 中通联通的智能网关能当路由器用吗? 《海南省人口与计划生育条例》 规定,婚假、产假、... 海南省昌江县计划超生第三胎怎么处理 网关与路由器的区别 路由器和智能网关型号不一样可以装吗 根据《海南省人口与计划生育条例》2016最新修改的... 路由器,网关和网桥之间的区别 三亚市女职工产假休息时间是多久