Fix #17504: Fix upsert when $updateColumns = true but there are no columns to update in the table

This commit is contained in:
Alexander Kartavenko
2019-08-21 11:56:20 +03:00
committed by Alexander Makarov
parent f72f7c7406
commit cdd40b8dfb
18 changed files with 90 additions and 0 deletions

View File

@ -256,6 +256,9 @@ class QueryBuilderTest extends \yiiunit\framework\db\QueryBuilderTest
'query, values and expressions without update part' => [
3 => 'INSERT INTO {{%T_upsert}} (`email`, [[time]]) SELECT :phEmail AS `email`, now() AS [[time]] ON DUPLICATE KEY UPDATE `ts`=:qp1, [[orders]]=T_upsert.orders + 1',
],
'no columns to update' => [
3 => 'INSERT INTO `T_upsert_1` (`a`) VALUES (:qp0) ON DUPLICATE KEY UPDATE `a`=`T_upsert_1`.`a`',
],
];
$newData = parent::upsertProvider();
foreach ($concreteData as $testName => $data) {