Mysql事务处理(php代码)
来源:互联网 发布:mac和windows双系统 编辑:程序博客网 时间:2024/05/18 02:20
1.开启事务 start transaction/begin
在mysql命令行的默认下,事务都是自动提交的,sql语句提交后马上会执行commit操作。但是用start
transaction/begin开启一个事务的时候,我们对sql的操作都发生在内存中,但是没有真正的反馈到数据库
磁盘的文件中!
2.回滚 rollback
回滚,就是恢复到事务开启之前的最原始的状态!
注意:回滚操作会自动的关闭一个事务,如果想再次执行事务,需要重新开启事务!
3.提交 commit
事务处理最典型例子:银行转账。
首先查看数据库中各自卡里的金钱余额
php代码实现:
<?php /*** MySQL实现事务操作*/echo "<meta charset=utf-8>";// 1 连接数据库$link = @mysql_connect('localhost','root','') or die('连接数据库失败');mysql_select_db('test',$link);mysql_query('set names utf8');// 2 开启事务mysql_query("start transaction");//设置一个变量,用来判断所有sql语句是否成功$flag = true;// 2.1执行事务中的一组sql语句 // 李四的balance+1000$sql = "update balanceinfo set balance=balance+1000 where name='李四'";$res = mysql_query($sql);if (!$res) { //若sql语句执行失败,把$falg设置为false $flag = false;}//张三的balance-1000$sql = "update balanceinfo set balance=balance-1000 where name='张三'";$res = mysql_query($sql);if (!$res) { //若sql语句执行失败,把$falg设置为false $flag = false;}// 2.2 判断事务是否执行成功if ($flag) { //所有sql语句执行成功,把sql语句提交 mysql_query('commit'); echo "转账成功!";}else{ // 如其中一条执行失败,则回滚到事务开启之前的状态 mysql_query('rollback'); echo "转账失败!";}
当某一条语句未执行成功时,事物不会提交,而会回滚,把数据恢复到开始事务之前的原始状态,这也是使用事务的作用,即只有当事务中所有sql语句全部执行成功,事务才会提交,否则会回滚。
阅读全文
0 0
- Mysql事务处理(php代码)
- PHP mysql 事务处理实例(1)
- PHP的事务处理 MYSQL
- PHP与MYSQL事务处理
- php与mysql事务处理
- PHP与MYSQL事务处理
- PHP与MYSQL事务处理
- PHP与MYSQL事务处理
- PHP与MYSQL事务处理
- PHP与MYSQL事务处理
- PHP mysql 事务处理实例
- PHP与MYSQL事务处理
- PHP与MYSQL事务处理
- PHP与MYSQL事务处理
- PHP mysql 事务处理实例
- PHP mysql 事务处理实例
- PHP与MYSQL事务处理
- PHP mysql 事务处理实例
- Some notes as a beginner.
- GitHub客户端操作1--仓库相关操作&github团队协作流程
- Tomcat部署时war和war exploded区别以及平时踩得坑
- SpringMVC定时器使用
- 有关list和dic包含中文字符时出现乱码的解决办法
- Mysql事务处理(php代码)
- n-1位数
- 在eclipse中添加图片等资源--- 不点赞是小狗
- Redux学习简述
- 分布式系统常见的事务处理机制
- redis主从部署问题一
- 【codevs 1026】逃跑的拉尔夫
- VMware 虚拟化编程(10) — VMware 数据块修改跟踪技术 CBT
- 以关系为中心的组织设计:系统结构