例如,我有下表:

Id Name Color
1 FirstCar White
2 SecondCar Yellow
3 ThirdCar Red
4 FourthCar White
5 FifthCar Green
6 SixthCar Blue

我需要实现的是:将字符串"\u 123"附加到所有行的字段"Name",其中"Name"是"SecondCar"、"FourthCar"或"SixthCar",结果如下:

Id Name Color
1 FirstCar White
2 SecondCar_123 Yellow
3 ThirdCar Red
4 FourthCar_123 White
5 FifthCar Green
6 SixthCar_123 Blue

我该怎么做?

推荐答案

您可以使用CONCAT,它将在匹配的where name in ('SecondCar','FourthCar','SixthCar')条件下应用_123.

UPDATE test set name = CONCAT(name,'_123') 
WHERE name IN ('SecondCar','FourthCar','SixthCar');

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=fd790f9f30fecdb2f3dc22cb2d8ca0a5

Note. This will update existing data

Mysql相关问答推荐

如何获得表中只有最大值行的一个列被另一个列分区?

mysql使用LIKE查找二进制字段有问题

拒绝非超级用户访问停靠的MariaDB(超级用户工作)

我需要为用户提供MySQL视图和存储的 routine ,但不是基础表

MySQL添加表会将&@@&qot;追加到表名

如何在JOIN中获取MySQL中的项目总数

如何查询一行

获取最大登录应用程序用户数以及何时

为什么MySQL不同版本的值会变化?

Golang中使用Gorm的Where条件转义字符无法正常工作的问题

带有 JOIN 和 WHERE 子句的 INSERT 语句

如何进行查询以在两个不同的列中搜索两个不同的数据字符串?

如何本地化 MySQL 表中的实体?

高效的 SQL 查询,用于计算半小时时间序列中已发生的行的一部分

在 MySQL 中使用非空条件 LAG() 函数

MySQL 1292 截断不正确的日期时间值:'2020-09-11T08:32-50Z'

如何将 MySQL 5.7 更新到新的 MySQL 8.0?

如何在特定数据库中创建表?

如何使用 XML_LOAD() 将 XML 文件导入 MySQL 数据库表;功能

启用 NO_BACKSLASH_ESCAPES 选项时如何转义文字百分号?