|
mysql_query("SET AUTOCOMMIT=0"); //設置事務不自動commit
$insert="INSERT INTO userinfo VALUES ('aa12','aa','1','aaa')";
mysql_query($insert);
mysql_query("COMMIT");//非autocommit模式,必須手動執行COMMIT使操作生效
//mysql_query("SET AUTOCOMMIT=0");
$insert="INSERT INTO userinfo VALUES ('aa20','aa','1','aaa')";
$insert="INSERT INTO userinfo VALUES ('aa8','aa','1')";
//mysql_query("COMMIT");
if(mysql_num_rows==0)
mysql_query("ROLLBACK");//非autocommit模式,執行ROLLBACK使事務操作無效
else echo "ok";
//mysql_query("CLOSE");
mysql_query("SET AUTOCOMMIT=1");//恢復autocommit模式
$insert="INSERT INTO userinfo VALUES ('aa15','aa','1','aaa')";
mysql_query($insert);//不需要手動執行COMMIT就可以使事務操作生效
執行BEGIN之后,其作用同set autocommit=0,而且之后設置set autocommit=0或1時無效。所以,為使操作清楚,一般不使用BEGIN。
php技術:php+mysql事務rollback&commit示例,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。