批量替换 MySQL 数据库指定字段中域名
后知后觉 现有 11 评论

起因

因域名更替,导致原有的图片链接必须进行修改,考虑到手工操作工作量大,且容易出现问题,因此使用 SQL 进行处理。

原表字段 str_value 里的 URL 值进行替换。

序号原 URL目标 URL
01https://cdn.wave.red/pic/2017/09/220170901.jpghttps://img2.vvave.net/cover/2017/09/220170901.jpg
02https://cdn.wave.red/pic/2017/09/220170902.jpghttps://img2.vvave.net/cover/2017/09/220170902.jpg
03https://cdn.wave.red/pic/2017/09/220170903.jpghttps://img2.vvave.net/cover/2017/09/220170903.jpg
04https://cdn.wave.red/pic/2017/09/220170904.jpghttps://img2.vvave.net/cover/2017/09/220170904.jpg

处理

SQL 格式:

UPDATE `库名`.`表名` SET `字段` = REPLACE(`字段`,'原值','目标值') WHERE '条件(如果有)';

实际语句

UPDATE `typecho`.`typecho_fields` SET `str_value` = REPLACE(`str_value`,'https://cdn.wave.red/pic/','https://img2.vvave.net/cover/');

附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。
  1. avatarImg 叶忠文博客

    你文章的缩略图选的很不错

    Firefox 71.0 Windows 10
    IP 属地 未知
    1. avatarImg
      @叶忠文博客

      必应插图啦,用程序自动裁剪一下就可以了。

      Safari 13.0.4 macOS Catalina
      IP 属地 未知
  2. avatarImg 次元

    试试留言一下

    Chrome 69.0 Windows 10
    IP 属地 未知
  3. avatarImg 长风

    感觉在数据库工具中操作更简单一些啊。

    QQBrowser 9.9 Android Pie
    IP 属地 未知
    1. avatarImg
      @长风

      Navicat 之类的也都是执行 SQL 语句,只不过都是写好逻辑的,但是自己会 SQL 不是更好吗?

      Safari 13.0.3 macOS Catalina
      IP 属地 未知
  4. avatarImg 流马

    😏这个文章在好多地方都看过

    Opera Touch 2.0 iOS 13
    IP 属地 未知
  5. avatarImg Mark

    回访下,另外问一下你不会就是通过找这个命令来到我博客的吧~

    Chrome 78.0 Windows 10
    IP 属地 未知
    1. avatarImg
      @Mark

      哈哈哈,并不是。貌似是通过某人的友链访问到贵站的。

      Chrome 78.0 Windows 10
      IP 属地 未知
      1. avatarImg Mark
        @柒

        好吧,最近好像掉收录了,改结构改的,你博客很漂亮,加油

        Chrome 78.0 Windows 10
        IP 属地 未知
  6. avatarImg 凉风有信

    最好是不存放域名

    Chrome 77.0 Windows 10
    IP 属地 未知
    1. avatarImg
      @凉风有信

      只是存储的封面图的链接罢了

      Chrome 78.0 macOS Catalina
      IP 属地 未知