位置: 编程技术 - 正文

深入理解MySQL中的事务机制(mysql深度解析)

编辑:rootadmin

推荐整理分享深入理解MySQL中的事务机制(mysql深度解析),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql的理解,深入mysql实战,深入理解mysql主从原理 pdf,mysqlmgr深入理解,深入理解mysql技术,mysqlmgr深入理解,深入mysql实战,深入理解mysql核心技术pdf,内容如对您有帮助,希望把文章链接给更多的朋友!

使用数据库事务可以确保除事务性单元内的所有操作都成功完成。MySQL中的InnoDB引擎的表才支持transaction。在一个事务里,如果出现一个数据库操作失败了,事务内的所有操作将被回滚,数据库将会回到事务前的初始状态。有一些不能被回滚的语句:将在本文的最后讨论。

在一个web应用中,会很经常遇到需要使用事务的地方,要么希望若干语句都执行成功,要么都不执行,如果出现有些执行成功,而其他的失败将会导致数据损坏。

在这篇文章的例子中,我们使用下面的两张表"employee"和"telephone",下面是SQL语句(作为参考):

创建 employee表:

向employee中插入数据

创建telephone表

深入理解MySQL中的事务机制(mysql深度解析)

向telephone表插入数据

设想你需要一个新的叫做Grace Williams雇员,并带有他的电话号码信息。你可能会执行下面两句sql:

让我们看看第二个语句,在第一个语句中,employee_id是在第一条语句中指定的,设想一下,当第一条语句失败,而第二条语句成功的状况。在这种状况下,telephone表中就会有一条employee_id为9的记录,而employee表中并没有id为9的记录,而如果将这两个语句放在MySQL事务中,如果第一条语句失败,那么第二条语句也将回滚,从而不会造成这种问题。

在PHP(PHP参考文档)中我们可以使用如下的方式启用事务:

当你执行mysqli_query函数的时候,结果被立即提交到了数据库。使用mysqli_autocommit函数,可以关闭自动提交,执行结果只有当你想提交的时候才提交。 如果任何语句执行失败我们都可以设置$flag变量为false。如果有很多语句要执行,可以考虑将他们放在for循环中。 最后,如果flag是true(也就是没有错误发生),我们使用mysqli_commit提交事务。否则我们使用mysqli_rollback回滚事务。

所以,事务可以在某种程度上帮助我们维护数据的完整和正确,另外,为了保证数据无误,我们还推荐使用外键。

并不是所有的语句都是支持事务的,例如,如果使用CREATE TABLE或者ALTER TABLE语句,需要了解更多可以参考MySQL手册查看哪些语句不能回滚。

MySQL在Linux系统中隐藏命令行中的密码的方法 在命令行中输入命令并不是一个好主意,会造成安全问题。但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息。那

在Linux系统的命令行中为MySQL创建用户的方法 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行。每个MySQL用户帐号都有许多与之相关连的属性,例如用户名、密码以及权限和资源

在Ubuntu或Debian系统的服务器上卸载MySQL的方法 对于有的vps,系统默认安装了mysql。我们需要从我们的服务器、vps上卸载(移除)默认的mysql。那么如何(怎样)在ubuntuDebian上卸载mysql通常情况下,下列mysql

标签: mysql深度解析

本文链接地址:https://www.jiuchutong.com/biancheng/347653.html 转载请保留说明!

上一篇:MySQL中三种关联查询方式的简单比较(mysql中数据表的关联关系有哪三种?)

下一篇:MySQL在Linux系统中隐藏命令行中的密码的方法

  • 资产负债率高说明偿债能力怎么样
  • 电子税务局登陆密码总是错误怎么办
  • 小规模纳税人批发机动车
  • 专用发票超过360天认证期怎么办?
  • 个人所得税扣缴申报表
  • 减免税款年末有余额吗
  • 进项税转出主要内容包括
  • 发票查询发票代码有误
  • 合伙企业取得分红如何缴纳个人所得税
  • 预算基数是什么
  • 银行承兑逾期证明怎么写
  • 在建工程预转固申请表
  • 待评估资产价值
  • 应收账款多几分钱怎么处理
  • 发现财务人员违法怎么办
  • 销售安装门窗增值税
  • 收了公司的款项不拿回公司属于什么行为
  • 开过的增值税发票丢失
  • 关于非上市公司的法律
  • 广告费扣除年限
  • 如何计算工程预付款
  • 负数到正数的增减
  • 技术转让所得减半征收企业所得税
  • 制作广告费用
  • 怎么恢复系统win10
  • win10怎么打开任务管理器
  • 固定资产计算折旧时用扣除减值吗
  • 企业不得抵扣进项税的情形
  • 期末调汇的会计处理
  • 预付款挂账什么意思
  • 现金日记账漏记一笔怎么办
  • 零代码开发工具
  • 支付押金无法收取怎么办
  • 二手房过户需要哪些手续和费用2023
  • Win11 Build 22000.160(KB5005189)预览版发布,更新了哪些内容
  • php中关键字修饰属性是什么
  • 莫斯塔尔古桥多高
  • 怎么用ai做vi
  • 调用系统服务出错原因
  • 研发失败的费用允许加计扣除吗
  • ubuntu下使用SQLite3的基本命令
  • 出口企业为什么免税又退税
  • 费用什么情况下要写报销单呢
  • 委托加工的材料成本是否含增值税
  • 红字发票冲销的申请表是税务局开吗
  • 差旅费退回怎么做账
  • 车间装修预算表
  • 跨月抵扣的发票能退回吗
  • 实收资本如何计算印花税及附加税
  • 股权转让如何缴纳个税
  • 购买固定资产的增值税计入成本吗
  • 暂估入库一直没冲会怎么样
  • 代金券消费怎么入账
  • 销售完一定要结工资吗
  • 去年亏损今年盈利怎么弥补
  • 水利建设基金筹集和使用管理办法
  • 以前年度收入少记了怎么做分录
  • 现销方式
  • 购入汽车属于什么会计科目
  • 赊销是什么意思 视频
  • mysql中排序规则是什么意思
  • UNIX系统中文件的索引表结构
  • 在windows七中
  • ubuntu18.04配置
  • win7关机太慢怎么办
  • 怎么在mac上查找iphone
  • win7系统如何连接共享打印机
  • WIN10系统崩溃如何自救?
  • win7系统小喇叭有红叉没声音
  • win7没有nvidia控制面板怎么调节亮度
  • 深入理解javascript特性.pdf
  • opengl光照算法
  • nodejs+ts
  • cocos lua调试
  • js的select()方法
  • python3.8基础教程
  • 多个javascript 合并
  • js map(parseint)
  • 收心归位经典语录短句
  • 宣城国税局电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设