下面是一个示例表:

name       |   picture

John S.    |   http://servera.host.com/johns.png
Linda B.   |   http://servera.host.com/lindab.png
...

假设还有几百条记录.

也就是说,我们将服务器从"servera"移动到了"serverb".

有没有可能在这个表中输入one query, for each 记录重命名"picture"列中的内容,以读取正确的服务器名称?

推荐答案

T-SQL:

update TBL 
   set picture = Replace(picture, 'servera', 'serverb') 
 where picture like '%servera%'

神谕:

update TBL 
   set picture = replace(picture, 'servera', 'serverb') 
 where picture like '%servera%'

MySQL:

update TBL 
   set picture = REPLACE(picture, 'servera', 'serverb') 
 where picture like '%servera%'

Mysql相关问答推荐

为什么IN子句中有GROUP BY会导致查询变得不可执行?

如果WHERE语句包含所有列,唯一键顺序是否重要?

MySQL:一个查询中的SELECT语句,用于从一个表中检索所有数据,并仅从另一个表中检索一个数据

MySQL 搜索列字段字符串

从 NextJS/Prisma 添加用户 ID (FK) 到 MySQL 表

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

为大表优化 Django 模型

分别针对每个不同的列 Select 聚合

Mysql JSON_REMOVE 数组键和值 (MariaDB)

mysql insert into select join - 通过连接表将值从一列复制到另一表

SQL / MySQL:如何在WHERE IN中判断类似于OR的AND逻辑

如何查看 rdsadmin 在 mysql 实例上的权限?

计算每个用户在第二个表中有多少条记录

动态创建内联 SQL 表(用于排除左连接)

SQL 中的双杠 (||) 是什么意思?

在 MySQL 中重命名外键列

MySQL 连接运算符

在 MySQL 的 LIMIT 子句中使用变量

带有 WHERE 子句的 MySql 内连接

MySQL中的base64编码