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

MySQL:更新一个完整的表,插入一个MD5哈希,为每一行指定一个,mysql,sql,sql-update,md5,Mysql,Sql,Sql Update,Md5,我向现有表中添加了一列。现在,我需要根据现有列的内容,通过向新列添加MD5哈希来更新tablecontent 更准确地说: id | name | date-of-birth | hash 1 | test | 12.12.12 | NULL 有100多万行,其中hash=NULL。现在我需要使用MD5字符串更新哈希,该字符串基于相应的列,例如名称: hash=MD5(测试) 我知道一排怎么做。但是如何对单个SQL语句中的所有行执行此操作?尝试以下操作: UPDATE yourta

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

更准确地说:

id | name | date-of-birth | hash
1  | test | 12.12.12      | NULL
有100多万行,其中hash=NULL。现在我需要使用MD5字符串更新哈希,该字符串基于相应的列,例如名称: hash=MD5(测试)

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

尝试以下操作:

UPDATE yourtable
SET hash = MD5(name)
WHERE hash IS NULL

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

无需为更新编写额外的查询

  • 去桌子设计吧
  • 创建一个新列
  • 选择新建列,在下面您将获得属性
  • 查找计算列规范
  • 在上面的选项下,您将找到公式部分write HashBytes([Algo],[ColumnName])
它将自动为已经存在的行创建哈希值


有时候,谷歌比发布问题更快。。。下面是我的代码:updateusers设置reference_id=MD5(name.now()),其中reference_id为NULL。错误!函数名不存在此查询的性能如何?有更好的方法吗?