下面是我的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();插入和更新后,但只插入一个记录。请建议我。