mysql - 如何一次在所有数据库上运行 sql 命令?

标签 mysql sql wordpress replace

我有大约 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');

然后重新执行结果。

来源:https://dba.stackexchange.com/a/20251

关于mysql - 如何一次在所有数据库上运行 sql 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13752441/

相关文章:

mysql - 减少 MySQL 中的 SELECT 查询时间

mysql - SQL 数据库 - 查询以生成医生 ID 及其姓名列表以及他们的预约次数?

sql - 当查询已经在双引号内时,如何在 oracle 中用空格处理列名?

javascript - WooCommerce API 授权在 node.js 应用程序中不起作用

java - 连接到 JDBC 时出现 java.lang.ExceptionInInitializerError

java - com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failure

MySQL 在收到我的查询时抛出错误

php - WooCommerce 订阅 : Don't have the SUSPEND button

php - MAMP 中缺少 mysql 扩展

php oop数据库查询