我在现有表中添加了一列。现在,我需要根据现有列的内容,通过向该新列添加MD5哈希来更新tablecontent。
更确切地说:
id | name | date-of-birth | hash
1 | test | 12.12.12 | NULL
超过100万行,其中hash = NULL。现在我需要使用MD5字符串更新散列,该字符串基于相应的列,例如名称: hash = MD5(测试)
我知道怎么做一行。但是如何在单个SQL语句中对所有行执行此操作?
答案 0 :(得分:20)
试试这个:
UPDATE yourtable
SET hash = MD5(name)
WHERE hash IS NULL
请注意,您在问题中所写的测试结果为hash IS NULL
而不是hash = NULL
。
答案 1 :(得分:0)
无需为更新编写额外的查询。
它会自动为已存在的行创建哈希值。