Обновление нескольких строк с разными значениями

Я получил эту таблицу в базе данных MySQL, «пользователи». В нем есть поля id и value.

Теперь я хочу обновить много строк в этой таблице с помощью одиночного запроса SQL, но многие строки должны получить другое значение. В настоящее время я использую это:

UPDATE users
    SET value = CASE id
        WHEN 1 THEN 53
        WHEN 2 THEN 65
        WHEN 3 THEN 47
        WHEN 4 THEN 53
        WHEN 5 THEN 47
    END
WHERE id IN (1,2,3,4,5)

Это работает. Но я чувствую, что могу сделать некоторую оптимизацию, поскольку я присваиваю строкам всего около 3 или 4 различных значений. Как видите, сейчас это 47, 53 и 65. Есть ли способ обновить все строки, которые получают одно и то же значение одновременно в одном запросе? Или есть другой способ оптимизировать это?

7
задан Juan Mellado 1 May 2012 в 16:22
поделиться