Mysql替换了数据库中的部分文本

时间:2015-04-18 15:39:02

标签: php mysql sql

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

例如,某个字段将包含www.google.com/img/test-more-text.gif,并且必须将其替换为/image/test-more-text.gif。每行的前缀链接完全相同,唯一的可变部分是图像名称(例如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语句查找文本,但我以前从未更新过这样的内容。

如果有人知道如何做到这一点,那将为我提供大量工作

1 个答案:

答案 0 :(得分:4)

使用REPLACE功能:

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