3

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

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

我尝试了以下代码,通过生成变量“uid”可以很好地生成串联变量应该位于的变量“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);

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

4

2 回答 2

10

您在这里需要的功能是CONCAT_WS()使用定界分隔符-,或将参数更改为CONCAT()

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

或将参数更改为CONCAT()

UPDATE table_name SET uid = CONCAT(homeid, '-', indid);
于 2012-01-24T03:24:07.257 回答
-1

请尝试以下查询。

UPDATE table_name SET uid=CONCAT('-' , homeid, indid) where homeid > 0;
于 2012-01-24T03:18:44.167 回答