mysql事物实现大致逻辑测试
2014-09-17 17:39
141 查看
mysql事物实现语法
1)begin sql语句 rollback 或者commit
START TRANSACTION sql语句 rollback 或者commit
2)修改AUTOCOMMIT 自动提交是否开启的 #本文未涉及
个人对此逻辑理解
开始事物
提交每一个sql,并记录提交成功与否
对所有sql提交结果,进行判断
都执行成功,则commit#提交事务,这时所有操作才会进行
否则(有任何一个执行失败),则rollback。进行事务回滚
以下附上测试表结构和php代码
表结构
CREATE TABLE `test01` (
`01` varchar(500) DEFAULT NULL,
`02` varchar(500) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
php代码
<?
$lnk = mysql_connect("localhost", "root", "");
mysql_select_db("test");
mysql_query("BEGIN");
//mysql_query("START TRANSACTION");
$query = mysql_query("update test01 set `01` = 12");
$q1 = mysql_error();
if ($q1) {
echo "$q1"."\n";
}
$query = mysql_query("update test01 set `02` = 3");
$q2 = mysql_error();
if ($q2) {
echo "$q2"."\n";
}
if (!$q1 && !$q2) {
mysql_query("COMMIT"); //全部成功,提交执行结果
echo "commit"."\n";
} else {
mysql_query("ROLLBACK"); //有任何错误发生,回滚并取消执行结果
echo "rollback"."\n";
}
//var_dump($q1, $q2);
mysql_close($lnk);
?>
修改sql语句,让某条执行sql出现错误,测试结果
本文参考:http://www.111cn.net/database/mysql/53781.htm
/article/5820466.html
非常感谢作者!
1)begin sql语句 rollback 或者commit
START TRANSACTION sql语句 rollback 或者commit
2)修改AUTOCOMMIT 自动提交是否开启的 #本文未涉及
个人对此逻辑理解
开始事物
提交每一个sql,并记录提交成功与否
对所有sql提交结果,进行判断
都执行成功,则commit#提交事务,这时所有操作才会进行
否则(有任何一个执行失败),则rollback。进行事务回滚
以下附上测试表结构和php代码
表结构
CREATE TABLE `test01` (
`01` varchar(500) DEFAULT NULL,
`02` varchar(500) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
php代码
<?
$lnk = mysql_connect("localhost", "root", "");
mysql_select_db("test");
mysql_query("BEGIN");
//mysql_query("START TRANSACTION");
$query = mysql_query("update test01 set `01` = 12");
$q1 = mysql_error();
if ($q1) {
echo "$q1"."\n";
}
$query = mysql_query("update test01 set `02` = 3");
$q2 = mysql_error();
if ($q2) {
echo "$q2"."\n";
}
if (!$q1 && !$q2) {
mysql_query("COMMIT"); //全部成功,提交执行结果
echo "commit"."\n";
} else {
mysql_query("ROLLBACK"); //有任何错误发生,回滚并取消执行结果
echo "rollback"."\n";
}
//var_dump($q1, $q2);
mysql_close($lnk);
?>
修改sql语句,让某条执行sql出现错误,测试结果
本文参考:http://www.111cn.net/database/mysql/53781.htm
/article/5820466.html
非常感谢作者!
相关文章推荐
- MySQL事物系列:2:事物的实现
- mysql事物和存储引擎以及php实现事物
- 使用函数递归实现基于php和MySQL的动态树型菜单
- MySql实现简单的注册登录(易语言)
- 选择一定的日期oracle与mysql的实现
- Tomcat5.5链接Oracle、DB2、MySQL数据源实现JSP下拉框的填充
- PHP实现多服务器session共享之mysql共享
- 实现 win2003 下 mysql 数据库每天自动备份
- 二十行语句实现从Excel到mysql的转化
- 对Jbpm数据库应用的简单分析和在Mysql上实现的demo
- 在LINUX中实现JSP联接MYSQL初级教程
- Linux+Apache用 mod_auth_mysql实现用户身份认证
- osworkflow使用mysql实现持久化!
- 使用"函数递归"实现基于php和MySQL的动态树型菜单
- Debian+vsftpd+MySQL实现虚拟用户
- JBoss如何与MySql实现连接?
- 使用"函数递归"实现基于php和MySQL的动态树型菜单
- [转] 基于MySQL的数据库集群系统的实现
- 使用函数递归实现基于php和MySQL的动态树型菜单
- 默默小谈PHP&MYSQL分页原理及实现