我为这个问题的愚蠢而道歉,但我是一个完全没有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);
提前感谢您的帮助(和耐心)。
答案 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;