【问题标题】:Sql syntax to create hash创建哈希的sql语法
【发布时间】:2018-08-05 16:39:49
【问题描述】:

我在用我的查询创建哈希时遇到了一点麻烦。 我正在尝试使用 MD5 CONCAT 但我不断收到错误

UPDATE table_name WHERE hash IS NULL SET hash = MD5(CONCAT(client_id,client_email));

我想在“散列”行中生成散列,目前它的所有值都设置为 NULL。 谁能纠正我,我做错了什么?

【问题讨论】:

  • 你能把你的ERROR信息贴在这里吗?
  • “我不断收到错误”不是一个好的问题描述。错误包括有用的信息。即使努力解码这些信息,至少给我们一个战斗的机会,包括任何错误消息的全文。
  • 话虽如此,我敢肯定在这种情况下你被建议检查manual(链接到5.7版本,其他版本在其他页面)。您在此处发布之前是否真的检查了手册?
  • 你混淆了 where 和 set 子句的顺序。
  • @Shadow 你能把它作为一个单独的答案吗,你解决了我的问题,我想选择你的作为答案

标签: mysql sql hash concatenation md5


【解决方案1】:

当然你会得到一些错误: 正确的语法是:

UPDATE Table_Name SET column1 = X WHERE Y

你的情况

UPDATE tv20_clients SET hash = MD5(CONCAT(client_id,client_email)) WHERE hash IS NULL ;

小心你没有在这里管理 null 的情况,这应该会更好:

UPDATE tv20_clients
SET hash = MD5(CONCAT(COALESCE(client_id,'0'),COALESCE(client_email, '0')))
WHERE hash IS NULL ;

【讨论】:

    猜你喜欢
    • 2013-12-20
    • 2015-10-06
    • 2016-10-06
    • 1970-01-01
    • 2016-07-19
    • 2011-09-20
    • 2015-08-13
    • 2011-04-20
    • 2012-02-06
    相关资源
    最近更新 更多