下面是一个示例表:

name       |   picture

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

假设还有几百条记录.

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

有没有可能在这个表中输入one query,为每个记录重命名"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相关问答推荐

了解 SQL 中的元组语法

查询给出错误时的 mySQL Group_Concat 和 Case

估计行数 SQL

是否可以从 .SQL 文件中计算表中的行数?

MySQL查询根据同一表中其他字段的值更新表中的字段

如何过滤表格,以便它显示最新的数据?

如何使用nodejs从mysql数据库中获取最新的10条记录?

sql sum - 处理连接表中的脏重复项

Docker(Apple Silicon/M1 Preview)MySQL“ list 列表条目中没有与 linux/arm64/v8 匹配的 list ”

将 MySQL 中的 JSON 数组转换为行

如何使用axios发布查询参数?

Mysql 错误:try 转储表空间时,指定为定义者的用户 ('mysql.infoschema'@'localhost') 不存在'

导入 data.sql MySQL Docker 容器

是否可以在 macOS 上只安装 mysqldump

带有 OuterRef 的简单子查询

用于 UNIX 套接字文件的 mysqld_safe 目录“/var/run/mysqld”不存在

使用 mysql 处理非常大的数据

php artisan migrate throwing [PDO Exception] 找不到驱动程序 - 使用 Laravel

服务器时区值“AEST”无法识别或代表多个时区

SQLSTATE [42000]:语法错误或访问冲突:1055 SELECT 列表的表达式 #3 不在 GROUP BY 子句中并且包含非聚合