本文摘自PHP中文网,作者青灯夜游,侵删。
本篇文章给大家带来的内容是介绍MySQL什么是事务处理 ?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。MySQL的事务处理
步骤:
1.开启事务 start transaction
当我们开启一个事务的时候,我们对sql的操作都发生在内存中,但是没有真正的反馈到数据库磁盘的文件中!
2.回滚 rollback
回滚,就是恢复到事务开启之前的最原始的状态!
注意:回滚操作会自动的关闭一个事务,如果想再次执行事务,需要重新开启事务!
3.提交 commit
事务的基本原理
普通的执行,之所以是立即执行并生效,因为默认的,MySQL对sql语句的执行是自动提交的!所以,开启一个事务的本质,就是关闭了以前的自动提交的功能,而是由用户手动提交(利用commit语句)!【相关视频教程推荐:MySQL教程】
总结事务的步骤:
1, 开启事务
2, 如果执行成功,就提交commit
3, 如果有任何一条sql语句执行失败,则回滚rollback!
事务处理的示例:
事务处理最典型的就是借还钱,下面以张三向李四还1000元为例:
首先查看数据库中各自的钱数
下面是处理还钱事务的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
结果:
下面,我们故意把其中一个字段写错,看看事务是否正常处理,数据库中的钱数是否有变化!
1 2 |
|
结果:
结果是还钱失败,并且数据库中各自的钱数没有变化,说明当某一条语句未执行成功时,事物不会提交,而会回滚,把数据恢复到开始事务之前的原始状态,这也是使用事务的作用,即只有当事务中所有sql语句全部执行成功,事务才会提交,否则会回滚!
总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。
以上就是MySQL什么是事务处理 ?(代码示例)的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
mysql线程处于opening tables的问题解决(附示例)
更多相关阅读请进入《mysql》频道 >>
数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。