sql多次更新查询一个接一个

kpbwa7wx  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(299)

我在下面代码的语法上遇到了一个错误,如果我在应用程序(wordpress)上执行这个命令,我会收到一条错误消息,一个单独的更新查询就可以了,但是我需要一次用唯一的值更新几个id。
要说的一点是,如果我在我的数据库管理器sql命令中运行这个命令,它就可以正常工作,我假设它依次处理每个查询。任何帮助都太好了!

UPDATE wp_postmeta 
SET    meta_value = "299" 
WHERE  meta_key = '_regular_price' 
       AND post_id = '2126'; 

UPDATE wp_postmeta 
SET    meta_value = "199" 
WHERE  meta_key = '_sale_price' 
       AND post_id = '2126';
byqmnocz

byqmnocz1#

我不知道为什么wordpress的多个更新不起作用。我认为,他们应该这样做,正如您所看到的,从mysql这样做没有错。如果您真的需要一个更新,您可以这样做:

UPDATE wp_postmeta
SET meta_value = CASE WHEN meta_key = '_regular_price'
                      THEN '299'
                      WHEN meta_key = '_sale_price'
                      THEN '199' END
WHERE
    meta_key IN ('_regular_price', '_sale_price') AND
    post_id = '2126';

相关问题