mysql - 使用相同的散列数据更新列

标签 mysql

我需要更新用户表中存储纯文本密码的列。它们需要进行哈希处理,我不希望用户注意到此更改。

$users = SELECT * FROM user

foreach ($users as $user):
UPDATE user SET password = 'new value'
endforeach;

但是,如何在更新之前传递所有纯文本密码并对其进行哈希处理。

最佳答案

SQL UPDATE 语句可以读取表列的旧值并在赋值中使用它们。

UPDATE user
SET password = HASH_FUNCTION(password);

HASH_FUNCTION 替换为您要使用的特定函数。

关于mysql - 使用相同的散列数据更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26697124/

相关文章:

mysql - 我可以在 MYSQL 的多表 SELECT 中连接表的某些字段吗?

mysql - Web 矩阵、数据类型、用户注册

mysql - 在 phpmyadmin 中导入 2gb 转储文件

mysql 连接数与正在运行的查询相比过高

mysql - 在mysql中插入或更新表

mysql - 使用选择查询将值传递给插入查询

php - 更新、删除然后插入或替换 : fastest/scalable MySQL(MyISAM) method

2018年MYSQL日期计算

mysql - 如何使用 TRIGGER 更新库存

php数据库表选择受限