
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.09.2016, 14:12
|
|||
|---|---|---|---|
Можно ли 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:18
|
|||
|---|---|---|---|
Можно ли ON DUPLICATE KEY UPDATE с условием WHERE ? |
|||
|
#18+
vkleможет быть, имеется какой-то способ сделать проверку поля при ON DUPLICATE KEY UPDATE ?Эта часть запроса работает строго для одной записи. Условие бессмысленно. Можно так: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2016, 14:19
|
|||
|---|---|---|---|
Можно ли ON DUPLICATE KEY UPDATE с условием WHERE ? |
|||
|
#18+
Пардон, CASE VALUES(item_lock). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2016, 15:11
|
|||
|---|---|---|---|
Можно ли ON DUPLICATE KEY UPDATE с условием WHERE ? |
|||
|
#18+
Akina, Благодарю, не сообразил сразу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1831430]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
201ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 291ms |
| total: | 596ms |

| 0 / 0 |
