mysql 存储过程
Posted 二年后的今天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 存储过程相关的知识,希望对你有一定的参考价值。
start TRANSACTION; //事务处理开始
UPDATE a set money =money-2 where id=1;
UPDATE a set money=money+2 where id=2;
COMMIT;//事务处理结束
start TRANSACTION;//事务处理开始
UPDATE a set money =money-2 where id=1;
UPDATE a set money=money+2 where id=2;
ROLLBACK;//事务处理回滚
alter table a change money money int UNSIGNED;//改变表MONEY为无负号
------------
实例1
<?php
$conn=mysql_connect(‘localhost‘,‘root‘,‘yourpassword‘)or die(mysql_error());
mysql_select_db(‘transaction‘,$conn);
mysql_query(‘set names utf8‘);
//创建事务
mysql_query(‘START TRANSACTION‘) or die(mysql_error());
$sqlA="update A set account=account-1";
if(!mysql_query($sqlA)){
mysql_query(‘ROLLBACK‘) or exit(mysql_error());//判断当执行失败时回滚
exit();
}
$sqlB="update B set account=account+1";
if(!mysql_query($sqlB)){
mysql_query(‘ROLLBACK‘) or exit(mysql_error());//判断当执行失败时回滚
exit();
}
mysql_query(‘COMMIT‘)or die(mysql_error());//执行事务
mysql_close($conn);
?>
实例2
-----------------------
php代码实现事务的处理可以通过PHP预定义类mysqli的以下方法实现。
autocommit(boolean):该方法用于限定查询结果是否自动提交,如果该方法的参数为true则自动提交,如果参数为false则关闭自动提交。MySQL数据库默认为自动提交。
rollback():利用mysqli类中的该方法可以实现事务的回滚。
commit():利用该方法可以实现提交所有查询。
代码如下 | 复制代码 |
<?php $id=$_GET[id]; |
以上是关于mysql 存储过程的主要内容,如果未能解决你的问题,请参考以下文章