Upsert is an atomic operation. `Upsert()` will insert new record into a database table If table do not already exist or update them. upsert( $table, $insertColumns, $updateColumns = true, $params = []) Using QueryBuilder $sql = $queryBuilder->upsert('pages', [ 'name' => 'Home page', 'url' => 'http://bsourcecode.com/', // url is unique 'visits' => 10000, ], [ 'visits' => new \yii\db\Expression('visits + 1'), ], $params = array()); Using Command: Yii::$app->db->createCommand()->upsert('pages', [ 'name' => […]... Read More »