mysql怎么测试事物_mysql事物实现大致逻辑测试

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出现错误,测试结果

非常感谢作者!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值