如何在MySQL数据库中全局更改字符串

时间:2009-07-22 18:12:29

标签: php drupal

我有一个旧的drupal网站,我想升级,但我需要将所有网站数据文件(如jpgs,gifs等)从/ files移动到/sites/default/files.

我想使用PHP脚本或只是一个MySQL命令来查找/ files / *的任何实例并将其更改为/ sites / default / files / *(不会弄乱*部分中的字符串名字,当然!)。

这很容易吗?关于我可以使用的函数的任何指针?

3 个答案:

答案 0 :(得分:4)

MySQL确实有一些内置的字符串替换功能。这样的事情怎么样?

UPDATE table SET field = REPLACE(field,'/files/','/sites/default/files/');

如果您需要,可以使用other functions来进行更复杂的替换(即正则表达式)。

答案 1 :(得分:0)

我很确定这只是改变Drupal配置中'files'路径的一种情况。

答案 2 :(得分:0)

如果您只是更改文件表,可以使用SQL进行更新,如zombat所说。如果您有大量其他路径实例(IE - 完整的HTML节点主体等),您最好的选择是将数据库导出到文本文件(可以使用mysqldump或PHPMyAdmin的导出功能)和然后只需更新字符串 - 使用合适的文本编辑器,像sed这样的命令行工具或一堆实习生。