用于按类别名称获取 WooCommerce 产品的 MySQL 查询 [英] MySQL query for getting WooCommerce products by category name

查看:58
本文介绍了用于按类别名称获取 WooCommerce 产品的 MySQL 查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只想按特定类别更新产品.

I want to update products by specific category only.

我通过这个 MySQL 查询得到了正确的结果:

I am getting correct results by this MySQL query:

SELECT * FROM wp_posts 
WHERE post_type = 'product'

现在,我有 2 种产品类别 1.ABC2.XYZABC 有 5 个产品,XYZ 有 30000 个产品.

Now, I have 2 types of product categories 1. ABC and 2. XYZ ABC has 5 products and XYZ has 30000 products.

我只想更新具有类别ABC

为此,我编写了 MySQL 查询:

For that I have written MySQL Query:

UPDATE `wp_postmeta`
SET `meta_value`= ( CASE WHEN `meta_key` = '_stock' THEN '0'
                         WHEN `meta_key` = '_stock_status' THEN 'outofstock'
                         ELSE `meta_value`
                    END)
WHERE post_id NOT IN( '2268', '2298', '2299', '2135' );

我不想使用 NOT IN 因为如果要添加任何类别,那么此查询将是错误的.

I do not want to use NOT IN because if any category will be added, then this query will be wrong.

如何在此 MySQL 查询中检查产品类别?

How can I check for the product category in this MySQL query?

提前致谢.

推荐答案

子查询应该做的:

UPDATE `wp_postmeta` 
SET    `meta_value`= ( 
       CASE 
              WHEN `meta_key` = '_stock' THEN '0' 
              WHEN `meta_key` = '_stock_status' THEN 'outofstock' 
              ELSE `meta_value` 
       end) 
WHERE  post_id NOT IN 
       ( 
              SELECT id
              from   wp_posts 
              WHERE  post_type = 'product' );

这篇关于用于按类别名称获取 WooCommerce 产品的 MySQL 查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆