如何为多站点上的所有博客运行单行SQL

时间:2015-09-27 17:42:42

标签: sql wordpress

我有一个多站点,有时需要运行一些SQL。但我无法弄清楚如何在一行中运行此命令,但是对于所有站点。有超过50个,所以50行感觉有点蹩脚。

UPDATE wp_1_posts SET comment_status = 'open';
UPDATE wp_2_posts SET comment_status = 'open';
UPDATE wp_3_posts SET comment_status = 'open';
UPDATE wp_4_posts SET comment_status = 'open';
UPDATE wp_5_posts SET comment_status = 'open';

所有博客上是否有这样的方法可以更改:

UPDATE wp_*_posts SET comment_status = 'open';

2 个答案:

答案 0 :(得分:0)

为什么不将它包装在php中的for循环中,然后使用变量作为名称并只将其写入一次?

答案 1 :(得分:0)

尝试此查询:

DECLARE @sqlCommand nvarchar(max)
declare @index int 
set @index=1
while 1 = 1
    BEGIN
        SET @sqlCommand = 'update wp_'+CAST(@index as nvarchar(10))+'_posts 
        set comment_status=''open''' 
        EXECUTE sp_executesql @sqlCommand
        if @index =50 BREAK
        set @index =@index +1 
    END