起因

我一开始的时候是用Coding来做博客图床,图片一直是存放在Coding仓库里然后Row调用的,但是前几天突然发现有时候图片会突然不显示,不是网络问题,我也没有找到具体解决方法。没办法只有从根本解决问题,决定先把图片都搬到自己服务器上,后面再另看看有没有其它好的存放地址。

操作步骤

先将Coding上的图片复制一份在自己的服务器上,然后使用SQL中UPDATE更新语句、REPLACE()替换函数来完成操作。

事例

原图片地址前缀:
https://ayurk.coding.net/p/tuchuangimg/d/img/git/raw/master/
替换为:
https://blog.iuk.ink/

具体

总共需要替换两个表里的内容,文章内容表和文章字段表。
先进入文章内容表(typecho_contents)
文章内容表
点击“SQL”,然后输入如下语句(根据自己修改下),再点击“执行”

UPDATE 'typecho_contents' SET 'text' = REPLACE('text','旧网址','新网址');

执行SQL语句
如果提示执行成功,那么现在同样方法去替换文章字段表(typecho_fields)
进入文章字段表
点击“SQL”输入下面的语句(根据自己修改下),再点击“执行”。

UPDATE 'typecho_fields' SET 'str_value' = REPLACE('str_value','旧网址','新网址');

资料

UPDATE

语法

UPDATE <表名> SET <列名> = <表达式>

用法
更改数据表中的数据

REPLACE()

语法

REPLACE(string_expression,string_pattern,string_replacement)

用法
查询替换、更新替换、插入替换

更新替换示例

UPDATE '表名' set '列名' = replace('列名(需和前面的列名一致)','需替换','替换成');

其它

本次批量替换教程不只是只能替换文章里的链接,你也可以用来替换其它具体内容、关键词字。也可以用空内容代替替换后内容实现删除文章里具体某内容等等。

教程是针对Typecho系统的,如果你是其它系统,也想替换文章、单页里的图片地址等等,只需要改一下SQL里的表名、列名就可以啦!
具体SQL语句参考:SQL中UPDATE更新语句、REPLACE()替换函数

最后修改:2022 年 08 月 08 日
如果觉得我的文章对你有用,请随意赞赏