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模式,必须手动执行COMMIT使操作生效 //mysql_query("SET AUTOCOMMIT=0"); $insert="INSERT INTO userinfo VALUES ('aa20','aaa')"; $insert="INSERT INTO userinfo VALUES ('aa8','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','aaa')"; mysql_query($insert);//不需要手动执行COMMIT就可以使事务操作生效 执行BEGIN之后,其作用同set autocommit=0,而且之后设置set autocommit=0或1时无效。所以,为使操作清楚,一般不使用BEGIN。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|