Ответ 1
Попробуйте следующее:
UPDATE yourtable
SET hash = MD5(name)
WHERE hash IS NULL
Обратите внимание, что тест hash IS NULL
, а не hash = NULL
, как вы писали в своем вопросе.
Я добавил столбец в существующую таблицу. Теперь мне нужно обновить tablecontent, добавив хэш MD5 в этот новый столбец на основе содержимого существующего столбца.
Точнее:
id | name | date-of-birth | hash
1 | test | 12.12.12 | NULL
Есть более 1 миллиона строк, где hash = NULL. Теперь мне нужно обновить хеш с помощью строки MD5, которая основывается на соответствующем столбце, например. имя: hash = MD5 (тест)
Я знаю, как это сделать для одной строки. Но как это сделать для всех строк в одном заявлении SQL?
Попробуйте следующее:
UPDATE yourtable
SET hash = MD5(name)
WHERE hash IS NULL
Обратите внимание, что тест hash IS NULL
, а не hash = NULL
, как вы писали в своем вопросе.
Не нужно писать дополнительный запрос для обновления.
он автоматически создаст хэш-значение для уже существующих строк.
Проверьте прикрепленное изображение для получения дополнительных пояснений