mysql 事务处理(表的引擎必须是 innodb / BDB)
主要是两种两法:推荐用第一种
1.用 begin,rollback,commit 来实现
begin 开始一个事务
rollback 事务回滚
commit 事务提交
2.直接用 set 来改变 mysql的自动提交模式,系统默认是自动提交的
set autocommit = 0; 禁止自动提交
set autocommit = 1; 开启自动提交
用第一种方式可这样:
/*
表信息 innodb(id,text)
*/
require_once(‘conn.php‘); // 数据库连接信息
$flag = 1; // 标识是完成提交还是回滚 1.提交完成 0.失败回滚
//因为是自动提交的(默认),所以要想用事务,就必须手动开始事务,并手动提交
//开启事务
mysql_query("BEGIN"); // 或者 mysql_query("START TRANSACTION");
$sql1= "insert into innodb values(‘‘, ‘xxx‘)";
$sql2 = "insert into innodb values(‘‘, ‘iiii‘)";
$sql3 = "insert into innodb values(‘‘, ‘eee‘ee‘)";
if(!mysql_query($sql1)){$flag = 0;}
if(!mysql_query($sql2)){$flag = 0;}