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

Mat*_*iby 88 mysql sql string

我想将我所有记录中的代码更新为他们目前的内容加上_标准的任何想法?

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

之前:

id   code
------------
1    apple_1 
1    apple_2
Run Code Online (Sandbox Code Playgroud)

Psuedo查询:

update categories set code = code + "_standard" where id = 1;
Run Code Online (Sandbox Code Playgroud)

预期结果:

id   code
----------------------
1    apple_1_standard 
1    apple_2_standard
Run Code Online (Sandbox Code Playgroud)

Dan*_*llo 186

您需要CONCAT()在MySQL中使用函数进行字符串连接:

UPDATE categories SET code = CONCAT(code, '_standard') WHERE id = 1;
Run Code Online (Sandbox Code Playgroud)

  • 以防有人遇到与我相同的问题:如果字段`code`默认为NULL,则需要使用:`UPDATE categories SET code = CONCAT(IFNULL(code,''),'_ standard')WHERE id = 1;`否则concat将始终为NULL. (54认同)
  • 或者,您可以使用跳过NULL值的CONCAT_WS.例如`SELECT CONCAT_WS(',','First name',NULL,'Last Name');`给出'名字,姓氏' (2认同)

小智 5

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

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

  • 有趣的是,尽管这并不能很好地回答OP问题,但这正是我所需要的。 (2认同)