如何将字符串附加到 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 中的现有字段?的主要内容,如果未能解决你的问题,请参考以下文章