Mysql 使用substring、md5、base convert和concat复制行的sql查询

Mysql 使用substring、md5、base convert和concat复制行的sql查询,mysql,Mysql,我有两个BIGINT列叫做first_half和second_half,还有一个空列叫做new_column 我希望新列是一个BIGINT列,它是那些前半个和后半个BIGINT的串联字符串版本中,从基16转换为基10的基md5的前16个字符 我意识到一句话里有很多话要说 下面是我要运行的sql查询: UPDATE mytable SET new_column = SUBSTRING(CONV(MD5(CONCAT(CONVERT(first_half, VARCHAR(50)), CONVERT

我有两个BIGINT列叫做first_half和second_half,还有一个空列叫做new_column

我希望新列是一个BIGINT列,它是那些前半个和后半个BIGINT的串联字符串版本中,从基16转换为基10的基md5的前16个字符

我意识到一句话里有很多话要说

下面是我要运行的sql查询:

UPDATE mytable
SET new_column = SUBSTRING(CONV(MD5(CONCAT(CONVERT(first_half, VARCHAR(50)), CONVERT(second_half, VARCHAR(50)))), 16, 10), 0, 16);
问题是,我要么所有列的值都是0,而所有列(如1234567890123456)的相同值应该是所有列的不同值,因为后半部分基本上是唯一的,要么在这一点上是一个语法错误,我无法理解


有人能帮我解决这个问题吗?我觉得这应该不难,但我今天真的被它绊倒了。

你得到了什么错误?我在“新”列中得到了所有相同的值,尽管所有的下半部分条目都不同