#1 techflag
public function index(){
$fa_newrow['sw_father_name']='江苏';
$mysql_insert_id=parent::addResultPage($fa_newrow,'sw_father');
$fa_id=$mysql_insert_id;
echo 'fa_id='.$fa_id;
$g=spClass('sw_son');
$g->query("START TRANSACTION"); // 或者是$g->query("BEGIN");
$sa_newrow['sw_son_name']='南京';
$sa_newrow['sw_father_uuid']=$fa_id;
$sa_newrow['sw_son_uuid']=1;
【'sw_son_uuid' 自动编号,我设置为1是故意制造错误】
//$mysql_insert_id=parent::addResultPage($sa_newrow,'sw_son');
$mysql_insert_id = $g->create($sa_newrow);
echo 'son_id='.$mysql_insert_id;
if( 0==$mysql_insert_id) // // create、update之类的返回false即是操作失败,也有可能是字段错误
{
$g->query("ROLLBACK"); // 出现问题,事务回滚
}else{
$g->query("COMMIT"); // 没有问题,那么事务提交。
}
}
数据表:

为什么事务没有起作用呢?
其他有的表是MyISAM引擎,是不是整个数据库都要是InnoDB引擎?
2011-03-01 15:53:33