Php 用于按类别名称获取WooCommerce产品的MySQL查询

Php 用于按类别名称获取WooCommerce产品的MySQL查询,php,mysql,wordpress,woocommerce,Php,Mysql,Wordpress,Woocommerce,我只想按特定类别更新产品 通过此MySQL查询,我得到了正确的结果: SELECT * FROM wp_posts WHERE post_type = 'product' 现在,我有两种产品类别1。ABC和2。XYZ ABC有5种产品,XYZ有30000种产品 我只想更新分类为ABC的产品的元数据 为此,我编写了MySQL查询: UPDATE `wp_postmeta` SET `meta_value`= ( CASE WHEN `meta_key` = '_stock' THEN '0'

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

通过此MySQL查询,我得到了正确的结果:

SELECT * FROM wp_posts 
WHERE post_type = 'product'
现在,我有两种产品类别
1。ABC
2。XYZ
ABC
有5种产品,
XYZ
有30000种产品

我只想更新分类为ABC的产品的元数据

为此,我编写了MySQL查询:

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,因为如果要添加任何类别,那么此查询将是错误的

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

提前感谢。

子查询应执行以下操作:

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

wp\u postmeta
中的
post\u id
wp\u u8gwgg\u posts
中的
id
相同?是。它将
wp_postETA中
wp_postETA的
ID
数据存储在
wp_postETA中
可能与@AjinkyaBawaskar重复的数据。它不适用于我。我已经尝试过这个解决方案。但它给出的是空响应。对于
post_类型
as
产品
,它工作正常,没有任何问题。但是,正如我在问题中提到的,我想更新具有特定类别的产品,如问题中提到的
ABC
。你能帮我做同样的事吗?再说一遍,这无论如何也帮不了我。您提到的查询正在执行:为没有post_类型为
product
的产品设置库存0和库存状态缺货。有趣的是,
post\u id
除了
post\u type='product'
之外,没有一个会有元数据
\u stock
\u stock\u status