Мысли на тему массового UPDATE в MySQL
Оказывается, это возможно!
INSERT INTO `table` (`a`, `b`, `c`) VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9) ON DUPLICATE KEY UPDATE `b`=VALUES(`b`), `c`=VALUES(`c`); Например, для WordPress (при условии, что пара (user_id, meta_key) является уникальным ключом): INSERT INTO `wp_usermeta` (`user_id`, `meta_key`, `meta_value`) VALUES (1, 'key1', 'value1'), (1, 'key2', 'value2'), (1, 'key3', 'value3'), (1, 'key4', 'value4'), (1, 'key5', [...]
← Вернуться к полной версии записи «Мысли на тему массового UPDATE в MySQL»…
Автор: Vladimir; опубликовано в: MySQL; метки: MySQL, советыЯнв
2009
Комментарии к статье «Мысли на тему массового UPDATE в MySQL» (6) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «Мысли на тему массового UPDATE в MySQL»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


Для множественного апдейта есть и такой способ:
table
SET
field = ELT(FIELD(id, $sIdList), $sValueList)
WHERE
id IN ($sIdList)
красиво, но, вроде как, работает медленней.
…что пара (user_id, meta_key) является уникальным ключом…, а что означает пара является уникальным ключом?
То, что все значения пары (
user_id,meta_key) уникальны.Спасибо. Вообщем-то я догадывался, что просто не совсем корректно написано. Но надежда была на то, что есть этакий уникальный “парный” ключ
Отличное решение с UPDATE. Благодарю, сильно выручил