php pdo transaction commit roolback无法进行多次插入和更新

时间:2017-06-02 11:41:12

标签: php pdo

下面是我的batchinsertUpdate函数,用于插入和更新批量数据。 我正在使用事务,提交和回滚过程。但没有插入或更新工作。但是,当我删除事务,提交和回滚代码工作。但是我想用transaction,commit和rollback运行batchinsertupdate函数。

public function batchinsertUpdate ($array, $dbConnection = null) {
        try {
            if ($dbConnection == null) {
                $dbConnection = DatabaseConnectionManager::getConnection ();
            }
            $dbConnection->beginTransaction ();
            $tableName = 'abc1';
            foreach ( $array as $value ) {
                $checkRowInDatabase = $this->checkRowExit( $value1,$value2,$value3,$value4,$value5);
                if ($checkRowInDatabase == '1') {
                    //Here is my update query
                    $result = $sth->execute ();
                } else {
                    //Here is my insert query
                    $result = $sth->execute ();
                }
            }
            $dbConnection->commit ();
        } catch ( Exception $e ) {
            $dbConnection->rollback ();
        }
        return $result;
    }

有没有办法使用commit和roolback同时运行insert和update? 我也在尝试$ dbConnection-> commit();插入和更新后,但只插入一个记录。请建议我。

0 个答案:

没有答案