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

标签 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);

在此先感谢您的帮助(和耐心)。

最佳答案

这里你需要的函数是CONCAT_WS()使用定界分隔符 -,或将参数更改为 CONCAT():

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

或更改 CONCAT() 的参数

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

关于mysql - 通过将两个整数变量与 MySQL 连接来生成新的字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981581/

相关文章:

php - 通过 'for' 循环插入 MySQL 表,并在字符串之间使用变量

php - 带有图像的列表中的动态下拉选项

xpath - XPath连接多个元素

hadoop - Concat_ws在 hive 的插入语句中不起作用

php - 困惑... MYSQL + JOIN + PAGINATION

PHP MYSQL INSERT 不工作?

mysql - 为什么这个错误 : Illegal mix of collations (utf8_general_ci, IMPLICIT) and (utf8_bin,NONE) for operation '=' , ON THIS QUERY?

php - MYSQL - 根据列是否为空将值追加或插入到列中

mysql - JPQL 中有 CONCAT_WS 方法吗?

mysql - 如何在 mysql 中连接两个表,但两者之间的日期不同?