创建一个命令,如果它们不存在(匹配唯一约束)以将行插入到数据库表中,或者如果它们存在,则更新它们。

upsert($table, $insertColumns, $updateColumns = true, $params = [])


$sql = $queryBuilder->upsert('pages', [
    'name' => 'Front page',
    'url' => 'http://example.com/', // url is unique
    'visits' => 0,
], [
    'visits' => new \yii\db\Expression('visits + 1'),
], $params);

该方法将正确转义表和列名。