MySQL更新列来自同一个表中的另一列

时间:2015-11-23 01:04:20

标签: mysql

我在从同一个表中的另一列更新列时出现问题。我知道这个问题是重复的。但情况就是这样。我有这个表结构:

  login   |   card_id   | card_serial
--------------------------------------
  A1149     1446700898    NULL
  A672      1446845746    NULL
  A626      1446581746    NULL

现在,我想使用十六进制函数更新带有十六进制值的card_serial列。数据应该是这样的:

  login   |   card_id   | card_serial
--------------------------------------
  A1149     1446700898    62E73A56
  A672      1446845746    321D3D56
  A626      1446581746    F2153956

但是当我尝试使用我的SQL语句更新card_serial列时,它总是返回值 36343431

这是我的陈述:

UPDATE card_id_without_serial a 
JOIN card_id_without_serial b ON b.login = a.login
SET a.card_serial = concat(substring(hex(b.card_id), 7,2), substring(hex(b.card_id), 5,2), substring(hex(b.card_id), 3,2), substring(hex(b.card_id), 1,2));

请帮帮我,谢谢

0 个答案:

没有答案