如何使用 SKU 使用 SQL 删除所有产品元数据

问题描述 投票:0回答:0

我正在尝试删除属于具有特定 SKU 的产品的所有内容。像 _price、_stock_status 或它所附加的类别这样的后金属基本上就是一切。

我为此写了一个 SQL 代码,但它不起作用。我找不到错误在哪里。 我想删除所有包含 ABCDE sku 的产品(ABCDE1、ABCDE2 等)。

更新: 我注意到 SQL 代码不起作用,因为目标表已更新。 SQL 代码当前正在运行。但是,有一个新的问题。计数值不会在 WP-admin > 类别页面和属性页面上更新。所以,数字看起来很高,好像有产品一样

DELETE FROM wp_posts 
WHERE post_type='product' 
AND ID IN (
  SELECT post_id FROM (
    SELECT post_id FROM wp_postmeta WHERE meta_key='_sku' AND meta_value LIKE '%ABCDE%'
  ) AS temp_table
);

DELETE FROM wp_term_relationships 
WHERE object_id IN (
  SELECT ID FROM wp_posts 
  WHERE post_type='product' 
  AND ID IN (
    SELECT post_id FROM (
      SELECT post_id FROM wp_postmeta WHERE meta_key='_sku' AND meta_value LIKE '%ABCDE%'
    ) AS temp_table
  )
);

DELETE FROM wp_term_relationships 
WHERE object_id IN (
  SELECT post_id FROM (
    SELECT post_id FROM wp_postmeta WHERE meta_key='_sku' AND meta_value LIKE '%ABCDE%'
  ) AS temp_table
);

DELETE FROM wp_postmeta 
WHERE post_id IN (
  SELECT post_id FROM (
    SELECT post_id FROM wp_postmeta WHERE meta_key='_sku' AND meta_value LIKE '%ABCDE%'
  ) AS temp_table
);
sql wordpress woocommerce product
© www.soinside.com 2019 - 2024. All rights reserved.