MySQL更新所有行,并通过函数更改该行的值

时间:2018-07-26 12:45:39

标签: mysql sql

这个想法是在MD5功能之后更改所有具有相同值的密码列

密码不能为空

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

更新后的表格应为:

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

有什么主意吗?

2 个答案:

答案 0 :(得分:3)

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

类似的事情会起作用。您未指定表名。但这将在密码列中设置一个新值,该值将是MD5功能

编辑

我添加了where子句以防止安全模式错误。

我只会在客户端中禁用安全模式。

答案 1 :(得分:2)

您可以访问UPDATE中一行的当前值。这样简单

UPDATE elbat
       SET password = md5(password);

应该这样做。