首页 > 解决方案 > SQL多个更新查询一个接一个

问题描述

我在下面代码的语法上遇到错误,如果我在应用程序(wordpress)上执行此操作,我会收到一条错误消息,单个更新查询本身可以正常工作,但我需要使用唯一值更新多个 ID立刻。

要说的一件事是,如果我在我的数据库管理器 SQL COMMAND 中运行它,它工作正常,我假设它轮流处理每个查询。任何帮助都会很棒!

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';

标签: mysqlwordpresswoocommerce

解决方案


我不知道为什么 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';

推荐阅读