如何将字符串附加到 MySQL 中的现有字段?

Posted

技术标签:

【中文标题】如何将字符串附加到 MySQL 中的现有字段?【英文标题】:How can I append a string to an existing field in MySQL? 【发布时间】:2011-04-15 12:05:26 【问题描述】:

我想将我所有记录上的代码更新为它们当前的状态以及 _standard 任何想法?

例如,如果代码是 apple_1 和 apple_2,我需要它们是 apple_1_standard 和 apple_2_standard

之前:

id   code
------------
1    apple_1 
1    apple_2

伪查询:

update categories set code = code + "_standard" where id = 1;

预期结果:

id   code
----------------------
1    apple_1_standard 
1    apple_2_standard

【问题讨论】:

重复***.com/questions/2761583/… 【参考方案1】:

你需要使用 mysql 中的CONCAT() 函数进行字符串连接:

UPDATE categories SET code = CONCAT(code, '_standard') WHERE id = 1;

【讨论】:

以防万一有人遇到和我一样的问题:如果 code 字段默认为 NULL,则需要使用:UPDATE categories SET code = CONCAT(IFNULL(code,''), '_standard') WHERE id = 1; 否则 concat 将始终导致 NULL。跨度> 另外,您可以使用 CONCAT_WS 跳过 NULL 值。例如SELECT CONCAT_WS(', ','First name',NULL,'Last Name'); 给出“名字,姓氏” @Daniel 根据上面的cmets更新答案怎么样? 针对可能的 null 情况的特殊/单独问题:***.com/questions/14020867/…【参考方案2】:

更新图片字段以添加完整的 URL,忽略空字段:

UPDATE test SET image = CONCAT('https://my-site.com/images/',image) WHERE image IS NOT NULL;

【讨论】:

有趣的是,即使这不能很好地回答 OP 问题,这正是我所需要的。

以上是关于如何将字符串附加到 MySQL 中的现有字段?的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串附加到R中的变量名子集?

如何附加到现有列PHP中的字段

如何将字符串添加到 MySQL 中的字段值?

根据另一个字段的值将字符串附加到 varchar2 字段

将日期/时间戳附加到现有文件

将文本附加到包含文本的现有字段