php - mysql替换数据库中一段文本的一部分

标签 php mysql sql

我必须更新的表(images_list 是表的名称)有超过 500 行带有特定链接,我必须将其替换为连接到本地文件夹的 url。

例如,一个字段将包含 www.google.com/img/test-more-text.gif 并且必须将其替换为 /image/test-more-text。动图。每行的前缀链接完全相同,唯一的可变部分是图像名称(例如 test-more-text.gif 是上面给出的示例中唯一的可变部分)

我已经查找了多个教程,但我唯一能找到的东西替换了整个字段,而我需要保留后缀可以这么说。

这张图片显然也有不同的名字所以我不能简单地做

UPDATE images_list 
SET image_link = '/image/test-more-text.gif' 
WHERE image_link = 'www.google.com/img/test-more-text.gif'

我知道如何使用 LIKE 语句查找文本,但我以前从来没有像这样更新过。

如果有人知道如何做到这一点,那我就可以省去大量的工作

最佳答案

使用REPLACE函数:

UPDATE images_list
SET image_link = REPLACE(image_link, 'www.google.com/img/', '/image/');
WHERE image_link LIKE 'www.google.com/img/%'

关于php - mysql替换数据库中一段文本的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29719393/

相关文章:

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - MySQL 错误 : 1064

mysql - 创建表时如何禁用 DEFAULT 和 ON UPDATE

mysql - SQL 根据上次访问日期选择

java - 从一个txt文件导入数据到android数据库

mysql - 有没有办法加快这个 MySQL 删除查询的速度?

MySQL - 查询选择与至少 2 个未禁止用户的所有对话

php - 如何使用 php 下载和上传 SQL 数据库为 .sql 文件?

javascript - 如何返回所有现有数组?这可能吗?

php - wordpress 在 seo 方面比 Zend Framework 2 好吗?