MySQL обновляет все строки, изменяя значение этой строки функцией

0

Идея состоит в том, чтобы изменить весь столбец паролей с одинаковым значением, но после функции MD5

пароль не может быть равен нулю

| password |
|   val1   |
|   val2   |
...
|   valn   |

А обновленная таблица должна быть:

| password |
| MD5(val1)|
| MD5(val2)|
...
| MD5(valn)|

Любая идея?

  • 0
    По сути, вы хотите, чтобы пароли в таблице были сохранены как хеш-значение MD5?
Теги:

2 ответа

3
update tableName 
set password = MD5(password) 
where 0 = 0

Примерно так будет работать. Вы не указали имя таблицы. Но это установит новое значение в столбце пароля, который будет функцией MD5

РЕДАКТИРОВАТЬ: я добавил предложение where, чтобы предотвратить ошибку безопасного режима.

Я бы просто отключил безопасный режим в клиенте..

  • 0
    Имя таблицы - пользователи, но я получаю сообщение об ошибке: вы используете безопасный режим обновления, и вы попытались обновить таблицу без WHERE, в котором используется столбец KEY. Чтобы отключить безопасный режим, переключите параметр в «Предпочтения» -> «Редактор SQL» и повторно подключитесь.
  • 0
    Да, безопасный режим остановит вас от обновления таблицы без предложения where. Это зависит от вас, чтобы отключить это. Или просто сделать один пользователь за один раз
Показать ещё 3 комментария
2

Вы можете получить доступ к текущим значениям строки в UPDATE. Итак, что-то простое

UPDATE elbat
       SET password = md5(password);

должен это сделать.

  • 0
    Ошибка -> Вы используете безопасный режим обновления, и вы попытались обновить таблицу без WHERE, в котором используется столбец KEY. Чтобы отключить безопасный режим, переключите параметр в Предпочтения -> Редактор SQL и переподключите.
  • 0
    @zelenooq: Это проблема клиента, не имеющая отношения к заявлению как таковому. Сделайте так, как вам говорят, и переключите безопасный режим или используйте другой клиент. Или попробуйте поставить галочку с некоторыми «истинно для всех» WHERE пункт как WHERE 1 = 1 .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню