我需要更新用户表中存储纯文本密码的列。它们需要进行哈希处理,我不希望用户注意到此更改。
$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/