我向现有表格添加了一列。现在,我需要根据现有列的内容,在新列中添加一个MD5哈希值来更新表格的内容。
更加具体地说:
id | name | date-of-birth | hash
1 | test | 12.12.12 | NULL
有超过100万行数据,其中哈希值为NULL。现在我需要用基于相应列(例如名称)的MD5字符串更新哈希值:
hash = MD5(test)
我知道如何为单个行执行此操作。但是如何在单个SQL语句中为所有行执行此操作?
我向现有表格添加了一列。现在,我需要根据现有列的内容,在新列中添加一个MD5哈希值来更新表格的内容。
更加具体地说:
id | name | date-of-birth | hash
1 | test | 12.12.12 | NULL
有超过100万行数据,其中哈希值为NULL。现在我需要用基于相应列(例如名称)的MD5字符串更新哈希值:
hash = MD5(test)
我知道如何为单个行执行此操作。但是如何在单个SQL语句中为所有行执行此操作?
试一下这个:
UPDATE yourtable
SET hash = MD5(name)
WHERE hash IS NULL
请注意测试条件是hash IS NULL
而不是您在问题中写的hash = NULL
。
不需要编写额外的查询来进行更新。
它将自动为已经存在的行创建哈希值。