|
|
|
Можно ли ON DUPLICATE KEY UPDATE с условием WHERE ?
|
|||
|---|---|---|---|
|
#18+
Доброго дня. Документация не предусматривает такого варианта, потому вопрошаю здесь. Что имеется. Табличка на несколько полей и около 10 млн. строк. SELECT довольно частые, INSERT редко и помногу, редкие UPDATE единичных записей. По двум полям имеется уникальный ключ UNIQUE KEY `item_date` (`item_id`,`item_date`) - суть - обеспечить единственное значение параметра элемента в пределах суток. Появилась необходимость видоизменить добавление записей. А именно, в случае совпадения ключа (индекс) нужно обновлять поле значения параметра `item_value` существующей записи при условии, что поле `item_lock`=0. Пока вижу только решение с дополнительным запросом SELECT и последующим INSERT или UPDATE по ситуации. Но, может быть, имеется какой-то способ сделать проверку поля при ON DUPLICATE KEY UPDATE ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 14:12 |
|
||
|
Можно ли ON DUPLICATE KEY UPDATE с условием WHERE ?
|
|||
|---|---|---|---|
|
#18+
vkleможет быть, имеется какой-то способ сделать проверку поля при ON DUPLICATE KEY UPDATE ?Эта часть запроса работает строго для одной записи. Условие бессмысленно. Можно так: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 14:18 |
|
||
|
Можно ли ON DUPLICATE KEY UPDATE с условием WHERE ?
|
|||
|---|---|---|---|
|
#18+
Пардон, CASE VALUES(item_lock). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 14:19 |
|
||
|
Можно ли ON DUPLICATE KEY UPDATE с условием WHERE ?
|
|||
|---|---|---|---|
|
#18+
Akina, Благодарю, не сообразил сразу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2016, 15:11 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=93&tid=1831430]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 351ms |

| 0 / 0 |
