【发布时间】:2012-12-07 01:30:53
【问题描述】:
这是我的情况:
我的公司为客户托管多个站点,站点的内容存储在 MySQL 数据库中。
我有一个问题,我需要遍历整个数据库并替换部分内容。例如:
我需要将 http://downloads.mysever.com/siteID/someImage.jpg 替换为 //downloads.mysever.com/siteID/someImage.jpg
所以我只需要从所有指向我们下载服务器的链接中删除 http:。
我的问题是最好的方法是什么?我是否需要编写一个 php 脚本来处理这个问题,或者我可以只使用 MySQL 来完成这个。
谢谢
【问题讨论】:
-
没有“最好的方法”来做如此微不足道的事情。使用您最熟悉的任何工具。
-
UPDATE table SET col = SUBSTR(col, 6) -
那么这可能只使用 MySQL 吗?我不确定在 MySQL 中是否可以使用正则表达式。我更愿意编写一个能够处理它的查询,但如果需要我可以编写一个 PHP 脚本。
-
@noub 为什么需要正则表达式?你只是剥离前 5 个字符。最坏的情况是用空字符串查找/替换
http:,仍然不需要正则表达式 -
正则表达式不是魔杖,它是解决所有与字符串相关的问题的最佳解决方案。