mysql中如何替换某个字段中的一部分值

客户有个网站,首页含有大量的图片。由于域名没备案,放在了美国服务器上,首页大量的图片导致网站打开灰常慢,而且服务器空间快不够了,于是我就想把这些图片转移到国内来。如何转移呢?

第一,把这些图片所在的文件夹通过FTP下载之后,上传到一个国内空间里。

第二,用一个有备案的域名设置一个二级域名或者目录,来访问这些转移过来的图片。

第三,到原网站的数据库中,找到记录这些图片路径的字段,然后批量替换掉掉其中一部分值。

客户用的系统是ecshop,记录这些图片路径的是ecs_goods表中的original_imggoods_imgoriginal_img三个字段,如下图:
1.jpg

.

此时可以批量把这三个字段值中的"images"替换成“http://www.xxoo.com/yxjgz/images”。(我们假设转移后的图片访问路径是http://www.xxoo.com/yxjgz/images

使用的SQL语句是:

UPDATE `ecs_goods` SET `original_img` = REPLACE( `original_img` , 'images', 'http://www.xxoo.com/yxjgz/images' ) WHERE INSTR( `original_img` , 'images' ) <2

以上语句适当更改下就可以替换goods_imgoriginal_img两个字段。

这个语句我找了很久才找到!经过多次试用,目前未发现什么后遗症。

20160401更新,以下代码也能实现替换:

UPDATE `phome_ecms_news_data_1` SET `newstext`= REPLACE(`newstext`, 'src="/uploads/', 'src="/d/file/') WHERE newstext like '%src="/uploads/%';