开发者社区> 问答> 正文

mysql语句的增删改是否需要根据返回值判断语句是否成功执行?

像下面的语句
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不支持事务处理,如何做最好呢?

展开
收起
落地花开啦 2016-02-27 13:48:45 4694 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    有必要根据返回值来判断语句是否成功执行。如果不判断,当出现有一条执行错误时,也会导致后边的数据处理有误,到时候处理问题会更加麻烦。

    2019-07-17 18:48:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像