MySQL:为特定的每一行更新一个完整的表,插入MD5哈希

Ral*_*att 17 mysql sql md5 sql-update

我在现有表中添加了一列.现在,我需要根据现有列的内容,通过向该新列添加MD5哈希来更新tablecontent.

更确切地说:

id | name | date-of-birth | hash
1  | test | 12.12.12      | NULL
Run Code Online (Sandbox Code Playgroud)

有超过100万行,其中hash = NULL.现在我需要用MD5字符串更新哈希,这是基于相应的列,例如name:hash = MD5(test)

我知道怎么做一行.但是如何在单个SQL语句中对所有行执行此操作?

Mar*_*ers 20

试试这个:

UPDATE yourtable
SET hash = MD5(name)
WHERE hash IS NULL
Run Code Online (Sandbox Code Playgroud)

请注意,测试是,hash IS NULL而不是hash = NULL您在问题中写的.