mysql_query('BEGIN'); $query = $_SGLOBAL['db']->query('select * from uchome_spacefield where all_count_visitor=1');
        $_SGLOBAL['db']->query('update uc_admin set abc=abc+1 where id=1');
        $_SGLOBAL['db']->query('insert into uc_admin values(1,2,3)');mysql_query('COMMIT');
// rollback 是怎么用的, 如果我这三条语句, 有一条操作错了, 是不是这三条都不成功呢?

解决方案 »

  1.   

    如果ROLLBACK,则BEGIN之后的所有操作都进行回滚,也就是都跟没执行过一样。COMMIT之前,BEGIN之后的任何语句,在开发者看来都不会立即执行,如果有一条出错,会导致程序终止,所以COMMIT无法执行,因此改动都会无效。
      

  2.   

     意思就是 mysql没有接收到 'commit'之前, 那些 update,insert 就不执行对吧?