通过将两个整数变量与MySQL连接来生成新的字符串变量

时间:2012-01-24 03:13:36

标签: mysql concatenation concat-ws

我为这个问题的愚蠢而道歉,但我是一个完全没有MySQL的新手,甚至在阅读文档时也遇到了麻烦。我有一个包含两列“homeid”和“indid”的表,它们都是整数数据字段。我想在一个带有连字符的新变量“uid”中将它们连接在一起。期望的输出将如下所示:

uid   homeid   indid
10-1  10       1
10-2  10       2
11-1  11       1

我已经尝试了以下代码,通过生成连接变量应该位于其中的变量“uid”可以很好地工作,但是除了它之外似乎没有工作(虽然没有产生错误):

ALTER TABLE table_name
add column uid varchar(10) FIRST; /*adds column uid to table "table_name" as first column*/

UPDATE table_name
SET uid=CONCAT('-' , homeid, indid);

提前感谢您的帮助(和耐心)。

2 个答案:

答案 0 :(得分:10)

此处需要的功能是CONCAT_WS()以使用分隔符-,或更改CONCAT()的参数:

UPDATE table_name SET uid = CONCAT_WS('-' , homeid, indid);

或更改CONCAT()

的参数
UPDATE table_name SET uid = CONCAT(homeid, '-', indid);

答案 1 :(得分:-1)

请尝试以下查询。

UPDATE table_name SET uid=CONCAT('-' , homeid, indid) where homeid > 0;