批量替换 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
    隐藏
    1. avatarImg
      @叶忠文博客

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

      Safari 13.0.4 macOS Catalina
      隐藏
  2. avatarImg 次元

    试试留言一下

    Chrome 69.0 Windows 10
    隐藏
  3. avatarImg 长风

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

    QQBrowser 9.9 Android Pie
    隐藏
    1. avatarImg
      @长风

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

      Safari 13.0.3 macOS Catalina
      隐藏
  4. avatarImg 流马

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

    Opera Touch 2.0 iOS 13
    隐藏
  5. avatarImg Mark

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

    Chrome 78.0 Windows 10
    隐藏
    1. avatarImg
      @Mark

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

      Chrome 78.0 Windows 10
      隐藏
      1. avatarImg Mark
        @柒

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

        Chrome 78.0 Windows 10
        隐藏
  6. avatarImg 凉风有信

    最好是不存放域名

    Chrome 77.0 Windows 10
    隐藏
    1. avatarImg
      @凉风有信

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

      Chrome 78.0 macOS Catalina
      隐藏