- 浏览: 3509578 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
<!--$sinatopbar-->
<!--$end sinatopbar-->
<!--主题内容开始 -->
<!--第一列start-->
<!--第一列end--><!--第二列start-->
<!--第二列start--><!--第三列start-->
<!--第三列end-->
<!--主题内容结束 -->
相关博文
推荐博文
<!--博文正文 begin -->
<!-- 正文开始 -->
$delete_result = mssql_query("select @@ROWCOUNT as id");
$delete_info = mssql_fetch_array($delete_result);
$delete_rows = $delete_info[0];
// var_dump($delete_rows);
mssql_free_result($delete_result);
echo "<script language=javascript>";
if(true){ //判断是否回滚提交
mssql_query("COMMIT TRANSACTION DEPS02_DEL"); //提交事务
echo "alert('delete success!');";
}else{
mssql_query("ROLLBACK TRANSACTION DEPS02_DEL"); //回滚事务
echo "alert('delete faile!');";
}
echo "</script>";
<!-- 正文结束 -->
<!--博文正文 end -->
<script type="text/javascript"></script>mysql事务处理
mysql事务处理的意义
事务处理机制在程序开发过程中有着非常重要的作用,它可以使整个系统更加安全,例如在银行处理转账业务时,如果A账户中的金额刚被发出,而B账户还没来得及接收就发生停电,这会给银行和个人带来很大的经济损失。采用事务处理机制,一旦在转账过程中发生意外,则程序将回滚,不做任何处理。
MYSQL的事务处理主要有两种方法
1.用begin,rollback,commit来实现
begin开始一个事务
rollback事务回滚
commit 事务确认
2.直接用set来改变mysql的自动提交模式
mysql默认是自动提交的,也就是你提交一个query,就直接执行!可以通过
set autocommit = 0 禁止自动提交
set autocommit = 1 开启自动提交
来实现事务的处理。
但要注意当用set autocommit = 0 的时候,你以后所有的sql都将作为事务处理,直到你用commit确认或 rollback结束,注意当你结束这个事务的同时也开启了新的事务!按第一种方法只将当前的做为一个事务!
MYSQL只有 INNODB和BDB类型的数据表才支持事务处理,其他的类型是不支持的!
MYSQL5.0 WINXP下测试通过~ ^_^
mysql> use test;
Database changed
mysql> CREATE TABLE `dbtest`(
-> id int(4)
-> ) TYPE=INNODB;
Query OK, 0 rows affected, 1 warning (0.05 sec)
mysql> select * from dbtest
-> ;
Empty set (0.01 sec)
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into dbtest values(5);
Query OK, 1 row affected (0.00 sec)
mysql> insert into dbtest value(6);
Query OK, 1 row affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from dbtest;
+------+
| id |
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.00 sec)
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into dbtest values(7);
Query OK, 1 row affected (0.00 sec)
mysql> rollback;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from dbtest;
+------+
| id |
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.00 sec)
mysql>
1.用begin,rollback,commit来实现
begin开始一个事务
rollback事务回滚
commit 事务确认
2.直接用set来改变mysql的自动提交模式
mysql默认是自动提交的,也就是你提交一个query,就直接执行!可以通过
set autocommit = 0 禁止自动提交
set autocommit = 1 开启自动提交
来实现事务的处理。
但要注意当用set autocommit = 0 的时候,你以后所有的sql都将作为事务处理,直到你用commit确认或 rollback结束,注意当你结束这个事务的同时也开启了新的事务!按第一种方法只将当前的做为一个事务!
MYSQL只有 INNODB和BDB类型的数据表才支持事务处理,其他的类型是不支持的!
MYSQL5.0 WINXP下测试通过~ ^_^
mysql> use test;
Database changed
mysql> CREATE TABLE `dbtest`(
-> id int(4)
-> ) TYPE=INNODB;
Query OK, 0 rows affected, 1 warning (0.05 sec)
mysql> select * from dbtest
-> ;
Empty set (0.01 sec)
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into dbtest values(5);
Query OK, 1 row affected (0.00 sec)
mysql> insert into dbtest value(6);
Query OK, 1 row affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from dbtest;
+------+
| id |
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.00 sec)
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into dbtest values(7);
Query OK, 1 row affected (0.00 sec)
mysql> rollback;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from dbtest;
+------+
| id |
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.00 sec)
mysql>
mysql事务处理php代码
实现事务的处理可以通过PHP预定义类mysqli的以下方法实现。
autocommit(boolean):该方法用于限定查询结果是否自动提交,如果该方法的参数为true则自动提交,如果参数为false则关闭自动提交。MySQL数据库默认为自动提交。
rollback():利用mysqli类中的该方法可以实现事务的回滚。
commit():利用该方法可以实现提交所有查询。
<?php
include_once("conn.php");
$id=$_GET[id];
$conn->autocommit(false);
if(!$conn->query("delete from tb_sco where id='".$id."'"))
{
$conn->rollback();
}
if(!$conn->query("delete from tb_stu where id='".$id."'"))
{
$conn->rollback();
}
$conn->commit();
$conn->autocommit(true);
echo "ok"
?>
autocommit(boolean):该方法用于限定查询结果是否自动提交,如果该方法的参数为true则自动提交,如果参数为false则关闭自动提交。MySQL数据库默认为自动提交。
rollback():利用mysqli类中的该方法可以实现事务的回滚。
commit():利用该方法可以实现提交所有查询。
<?php
include_once("conn.php");
$id=$_GET[id];
$conn->autocommit(false);
if(!$conn->query("delete from tb_sco where id='".$id."'"))
{
$conn->rollback();
}
if(!$conn->query("delete from tb_stu where id='".$id."'"))
{
$conn->rollback();
}
$conn->commit();
$conn->autocommit(true);
echo "ok"
?>
列二
<?php
require('connectDB.php'); //建立数据库连接
mssql_query("BEGIN TRANSACTION DEPS02_DEL"); //开始事务
$delete_dep_sql="DELETE FROM TBLDEPARTMENT WHERE DEPTID='{$_GET[deptid]}'";
// echo $delete_dep_sql."<br>";
mssql_query($delete_dep_sql); //操作数据库
// var_dump($del_result);
require('connectDB.php'); //建立数据库连接
mssql_query("BEGIN TRANSACTION DEPS02_DEL"); //开始事务
$delete_dep_sql="DELETE FROM TBLDEPARTMENT WHERE DEPTID='{$_GET[deptid]}'";
// echo $delete_dep_sql."<br>";
mssql_query($delete_dep_sql); //操作数据库
// var_dump($del_result);
$delete_result = mssql_query("select @@ROWCOUNT as id");
$delete_info = mssql_fetch_array($delete_result);
$delete_rows = $delete_info[0];
// var_dump($delete_rows);
mssql_free_result($delete_result);
echo "<script language=javascript>";
if(true){ //判断是否回滚提交
mssql_query("COMMIT TRANSACTION DEPS02_DEL"); //提交事务
echo "alert('delete success!');";
}else{
mssql_query("ROLLBACK TRANSACTION DEPS02_DEL"); //回滚事务
echo "alert('delete faile!');";
}
echo "</script>";
mssql_close();
?>
?>
php+mssql 的事务处理主要是以mssql的语言实现,php只是给其提供个与数据库对话的空间,如果以{BEGIN TRANSACTION }开始,后续的mssql就在该事务期间里,等待提交或回滚得指令;如果不在事务期间内就每个语句直接操作数据库。
0
顶
前一篇:MySQL触发器简介
< 前一篇MySQL触发器简介
后一篇 >MySql存储例程、存储过程进阶学习
新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正
新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑
Copyright © 1996 - 2012 SINA Corporation, All Rights Reserved
新浪公司 版权所有
<script id="PVCOUNTER_FORIE" type="text/javascript"></script><script type="text/javascript"></script><script src="http://sjs.sinajs.cn/blog7common/js/boot.js" type="text/javascript"></script><script type="text/javascript"></script><script type="text/javascript"></script>
分享到新浪Qing
分享到新浪微博
为了您的账号安全,请绑定邮箱
<script src="http://blog.sina.com.cn/lm/iframe/js/blognew2011.js" type="text/javascript"></script>
发表评论
-
mysql重新安装
2014-02-25 20:28 1156如何彻底卸载MySQL 本 ... -
免费数据库
2014-02-06 23:00 1183http://db4free.net/d4f_appl ... -
Error: Cannot create Windows service for MySql. Error: 0
2013-07-08 09:41 1348Error:Cannot create Windows se ... -
Mac OS X 安装mysql过程
2013-05-09 04:14 1501Mac OS X 安装mysql过程 Posted on ... -
MySQL左连接、右连接
2012-10-15 14:18 1422MySQL左连接、右连接 ... -
mysql存储过程
2012-10-11 10:13 1462我们大家都知道MySQL 存储过程是从 MySQL 5. ... -
给表增加一列
2012-05-09 09:09 1435ALTER TABLE Teachers ADD COL ... -
将一张表的查询结果插入到另一张表(转)
2012-05-08 11:26 2453将一张表的查询结果插入到另一张表 方法一: 代码 ... -
mysql必知必会 over 存储过程和触发器
2012-03-01 13:48 1956========== 咒骂一句mysql必知必会,存储过程的 ... -
mysql视图的理解和使用
2012-03-01 09:32 1893CREATE TABLE tb_x ( xid ... -
mysql 删除表 创建表 等操作
2012-03-01 08:42 2615TRUNCATE TABLE tb_1;删除一张表 然后 ... -
insert 插入语句
2012-02-29 21:46 0一般不要使用没有明确给出列的列表的insert语句,这样很不安 ... -
超详细mysql left join,right join,inner join用法分析(转)
2012-02-29 21:01 1650下面是例子分析表A记录如下: aID aNum 1 a2005 ... -
mysql 多表查询的步骤
2012-02-29 15:11 1720子查询 我们很多时候的表 都是关联的比如 ... -
mysql主键
2012-02-29 11:06 1713/** * 主键 * 一列或者一组列,其值能够唯 ... -
mysql 中使用distinct的用法(转)
2012-02-29 09:29 1652山里人家 山里人家 主页博客相册个人档案好友i ... -
数据库事物的四个特性
2012-02-26 18:28 3216到现在为止才真的搞清楚这四个事件任务的意思。 我 ... -
Mysql的乱码的解决方式
2012-02-14 16:23 0/** * Mysql的乱码的解决方式 * ... -
DBCP,C3P0,Tomcat_JDBC 性能及稳定性测试(转)
2012-02-14 07:56 1745DBCP,C3P0,Tomcat_JDBC 性能及 ... -
MySql存储例程、存储过程
2012-02-01 19:58 1710<!--$sinatopbar--> ...
相关推荐
mysql事务处理的意义 事务处理机制在程序开发过程中有着非常重要的作用,它可以使整个系统更加安全,例如在银行处理转账业务时,如果A账户中的金额刚被发出,而B账户还没来得及接收就发生停电,这会给银行和个人带来...
nodejs + mysql 事物处理问题 呵呵 看了就知道 记得npm install啊 需要的东西啊 本想免费 苦于没积分 ,需要的的同学,给点分吧
关于mysql的事务处理 public static void StartTransaction(Connection con, String[] sqls) throws Exception { if (sqls == null) { return; } Statement sm = null; try { // 事务开始 System....
mysql事务处理用法与实例详解
主要介绍了Java实现的mysql事务处理操作,结合实例形式较为详细的分析了Java基于JDBC操作mysql数据库实现事务处理的相关概念、操作技巧与注意事项,需要的朋友可以参考下
mysql 事务处理学习资料,带有示例说明
MySQL事务处理与并发访问.pdf
mysql事务处理[归类].pdf
MySQL事务处理详细讲解及完整实例下载 ..
本文实例讲述了php实现mysql事务处理的方法。分享给大家供大家参考。具体分析如下: 要实现本功能的条件是环境 mysql 5.2 /php 5 支持事务的table 类型,需要InnoDB,有了这些条件你就可以做上面的实现了,这个事物回滚...
一、Mysql事务概念 MySQL 事务主要用于处理操作量大,复杂度高的数据。由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行。在 MySQL 中只有使用了 Innodb 数据库引擎的...
本文实例讲述了php下pdo的mysql事务处理用法。分享给大家供大家参考。具体分析如下: php+mysql事务处理的几个步骤: 1.关闭自动提交 2.开启事务处理 3.有异常就自动抛出异常提示再回滚 4.开启自动提交 注意:mysql...
主要介绍了mysql事务处理用法与实例代码详解,详细的介绍了事物的特性和用法并实现php和mysql事务处理例子,非常具有实用价值,需要的朋友可以参考下
。。。
...
主要介绍了PHP+MySQL高并发加锁事务处理问题解决方法,结合实例形式分析了PHP+MySQL事务处理相关操作技巧与注意事项,需要的朋友可以参考下
事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。这篇文章主要介绍了MySQL事务处理,需要的朋友可以参考下