我正在尝试设置一个 MySQL 事务,以便我可以遍历一堆查询(见下文),如果其中任何一个失败,则回滚所有更改。然而,我发现如果一个失败,并不是所有的查询都会回滚。我在这里做错什么了吗?
mysql_query("START TRANSACTION");
foreach($array1 as $arr){
// loop SQL query
if(mysql_error()){
$failed = "...";
}
}
foreach($array2 as $arr){
// loop SQL query
if(mysql_error()){
$failed = "...";
}
}
if(isset($failed)){
mysql_query("ROLLBACK");
} else {
mysql_query("COMMIT");
}
谢谢!