簡體   English   中英

php-mysql交易

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM