[英]Php-Mysql transactions
我必須為for循環中的每個ID運行一組查詢。 現在,我想實現相同的交易。 下面給出的是代碼結構
for($i=0;i<$test;$i++) {
begin() //start transactions
while($j<4) {
Insertquery($j) //run an insert query
$j++;
if($mysql_errno!=0) { //check for any error in mysql query,if error rollback
rollback();
break;
}
} //end of while loop
commit();
}//end of for loop
現在,如果我僅針對一次迭代運行for循環,則這些查詢工作會回滾,但是如果我針對少數查詢運行for循環,並且在兩次查詢之間如果查詢不正確,則不會發生該集合的回滾。
不要在循環內使用查詢執行。
只需收集所有ID,然后開始交易即可。
begin() //start transactions
$sql = "insert into table name (t1,t2) values ";
while($j<4) {
$sql .= "($t1, $t2),";
}
$sql = substr($sql, 0, -1).';';
if(!mysql_query($sql))
{
rollback();
}
commit();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.