我有一个多站点,有时需要运行一些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';
答案 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