我有大约 80 个 wordpress 博客,其中记录了我的各个网站。我想为特定文本字符串(在本例中为域名)更新所有数据库中的所有帖子。
该脚本在一个数据库上工作得很好,但我需要对所有数据库进行一些更改,这将花费太长时间。
我需要能够一次跨每个数据库运行这些命令,而不是一次一个数据库。
我的脚本,因为它目前在单个数据库上运行:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.old-domain.com', 'http://mixudo.com');
非常感谢
最佳答案
尝试执行这个查询:
SELECT CONCAT('UPDATE ',
schema_name, '.\'wp_posts\' SET \'post_content\' = REPLACE(post_content, \'http://www.old-domain.com\', \'http://mixudo.com\');')
FROM information_schema.schemata
WHERE schema_name NOT IN ('information_schema','mysql','performance_schema','phpmyadmin', 'webauth');
然后重新执行结果。
关于mysql - 如何一次在所有数据库上运行 sql 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752441/