位置: 编程技术 - 正文

深入理解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系统中隐藏命令行中的密码的方法

  • 稳岗返还多久能到账
  • 履约保证金打到哪个账户
  • 业务招待费进项税额转出表二
  • 增值税发票认证平台
  • 未开具发票负数的原因
  • 借款利息是否可以转为本金
  • 境外机构在境内发行的人民币债券
  • 纳税人领购普通发票要求
  • 收到去年的成本发票
  • 固定资产暂估入账的账务处理
  • 机器保养计入什么
  • 全额拨款事业单位企业所得税
  • 新会计准则要求
  • 住房补贴是现金还是转账
  • 如何网上认证发票流程
  • 往年的企业所得税季报可以更正吗
  • 刻章后的发票要打印吗
  • 广告业 增值税
  • 建筑业开具发票新规定
  • 物业公司税务风险
  • 应收账款坏账准备计算表
  • 公司筹建期间借款怎么办
  • 挂靠别人的施工单位资质,要交什么税?
  • 到期赎回的理财有风险吗
  • mac系统技巧
  • 华为鸿蒙系统网速慢怎么解决
  • 购买货车预付保险怎么算
  • 个人出售普通住房个人所得税
  • 递延所得税资产是什么意思
  • 经营出租的机器设备需要计提折旧吗
  • linux系统中pwd命令的作用
  • 销售退回的处理方法
  • 产品出库单什么时候入账
  • 工业企业制造费用包括
  • 公司财务认证负责人实名认证需要承担责任吗
  • 发票金额有小数可以取整数吗
  • 2023年会出什么车
  • discuz去除底部
  • 应收帐款质保金
  • 契税属于哪种说法
  • 外币应收账款汇兑损失计入
  • mysql备份工具
  • mongodb主从复制和副本集架构有什么联系和区别
  • 劳务分包收入交什么税
  • 现金存银行会有记录吗
  • mysql中数据类型主要分为哪四种
  • mysql存long
  • 建筑劳务公司一年赚多少钱
  • 银行承兑汇票怎么开
  • 逾期交房违约金 已支付金额
  • 非广告公司可以开广告费发票吗?
  • 收到的发票怎么做分录
  • 所得税季度申报弥补以前年度亏损
  • 2010年漏记的费用,11年该如何记账?
  • 小型微利企业减按25%计算应纳税所得额
  • 小规模纳税人怎么申报个人所得税
  • 进项税额抵扣不完要做分录吗
  • 信用担保融资的缺点
  • 小规模纳税人转为一般纳税人的流程
  • 旅游饮食服务企业财务会计制度
  • mysql不能写入中文
  • sqlserver的基本语句
  • 注册表修改数据
  • ubuntu系统如何安装
  • ntfs硬盘分区整数
  • linux操作系统的安装
  • win8屏幕分辨率显示不全
  • win10系统组策略怎么打开
  • linux中的vi编辑器一般有哪三个模式
  • 照片墙安装教程
  • shell产生随机字符串
  • opengl教程48讲
  • u盘备份系统操作步骤
  • unity全屏
  • unity自带的ui叫什么
  • jquery操作样式
  • 你知道什么是布
  • js实现框选
  • jquery的遍历方法
  • 新加坡政治体制的介绍
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设