mini\Database\DatabaseInterface::upsert()
Method
public
abstract
Signature
public abstract function upsert(string $table, array $data, string $conflictColumns): int
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$table |
string |
required | Documentation missing |
$data |
array |
required | Documentation missing |
$conflictColumns |
string |
optional | Documentation missing |
Returns
int
Documentation
Insert a row, or update if conflict on unique columns
Performs an "UPSERT" operation. If a row with the specified unique column values already exists, updates that row instead of inserting.
Example:
db()->upsert('users', ['email' => 'john@example.com', 'name' => 'John'], 'email');
db()->upsert('user_prefs', ['user_id' => 1, 'key' => 'theme', 'value' => 'dark'], 'user_id', 'key');
Note: MySQL's ON DUPLICATE KEY UPDATE ignores $conflictColumns and triggers on any unique constraint. Behavior may differ across databases.