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