像下面的语句

model层$formDBObj->updateForm($formname, $dbname, $result['dbname'], $ftid, $fid);

echo '更新';

db层public function updateForm($formname, $dbname, $olddbname, $ftid, $fid) {

$strSql = 'UPDATE ' . TABLE_PRE . 'form ' .

'SET formname =\'' . $formname . '\', dbname=\'' . $dbname . '\', ftid=' . $ftid .

' WHERE fid =' . $fid;

$strSqls = 'ALTER TABLE ' . TABLE_PRE . 'form_' . $olddbname . ' RENAME TO ' . TABLE_PRE . 'form_' . $dbname;

$this->_db->_execute($strSql);

$this->_db->_execute($strSqls);

}

需要在第一条语句执行成功后在执行第二条sql,正常情况下,sql是顺序执行,非正常情况下(服务器断开连接),如果两条sql有一条执行错误,都会导致以后数据处理有误,那么是否有必要返回值判断sql是否执行成功呢(加上之后系统处理明显变慢)?

表类型为myisam不支持事务处理,如何做最好呢?

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐