php+mysql事務rollback&commit示例
更新時間:2010年02月08日 08:58:15 作者:
執(zhí)行BEGIN之后,其作用同set autocommit=0,而且之后設置set autocommit=0或1時無效。所以,為使操作清楚,一般不使用BEGIN。
mysql_query("BEGIN");//開始一個事務
mysql_query("SET AUTOCOMMIT=0"); //設置事務不自動commit
$insert="INSERT INTO userinfo VALUES ('aa12','aa','1','aaa')";
mysql_query($insert);
mysql_query("COMMIT");//非autocommit模式,必須手動執(zhí)行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模式,執(zhí)行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);//不需要手動執(zhí)行COMMIT就可以使事務操作生效
執(zhí)行BEGIN之后,其作用同set autocommit=0,而且之后設置set autocommit=0或1時無效。所以,為使操作清楚,一般不使用BEGIN。
mysql_query("SET AUTOCOMMIT=0"); //設置事務不自動commit
$insert="INSERT INTO userinfo VALUES ('aa12','aa','1','aaa')";
mysql_query($insert);
mysql_query("COMMIT");//非autocommit模式,必須手動執(zhí)行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模式,執(zhí)行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);//不需要手動執(zhí)行COMMIT就可以使事務操作生效
執(zhí)行BEGIN之后,其作用同set autocommit=0,而且之后設置set autocommit=0或1時無效。所以,為使操作清楚,一般不使用BEGIN。
相關文章
php生成隨機數(shù)/生成隨機字符串的方法小結【5種方法】
這篇文章主要介紹了php生成隨機數(shù)/生成隨機字符串的方法,結合實例形式分析了php生成隨機數(shù)/生成隨機字符串的5種實現(xiàn)方法與相關操作注意事項,需要的朋友可以參考下2020-05-05PHP編程實現(xiàn)多維數(shù)組按照某個鍵值排序的方法小結【2種方法】
這篇文章主要介紹了PHP編程實現(xiàn)多維數(shù)組按照某個鍵值排序的方法,結合實例形式分析了array_multisort和array_sort 2種排序操作方法,需要的朋友可以參考下2017-04-04