2014-11-20 99 views
0

我需要一些帮助才能编写Mysql查询以仅从某个父类别中删除Woocommerce产品。该数据库包含超过20,000个产品。仅从某些类别父ID中删除woocommerce产品

我发现下面的查询:

DELETE relations.*, taxes.*, terms.* 
    FROM wp_term_relationships AS relations 
    INNER JOIN wp_term_taxonomy AS taxes 
    ON relations.term_taxonomy_id=taxes.term_taxonomy_id 
    INNER JOIN wp_terms AS terms 
    ON taxes.term_id=terms.term_id 
    WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product') 

我需要wp_term_taxonomy父ID链接这个"7447"所以只产品,该父ID匹配将是removed.The结构有3个级别的子类别的自定义字段,这是甚至可能在MySQL?因为我找不到任何方式将子类别直接与父类别关联。

请原谅我的问题,但我在MYSQL查询中并不擅长。关于这一要求没有任何网上信息。此外,我认为对于面临这个问题的未来开发者来说,这将是一件好事。

很多thx!

回答

1

使用SELECT语句像

SELECT relations.*, taxes.*, terms.* 
    FROM wp_term_relationships AS relations 
    INNER JOIN wp_term_taxonomy AS taxes 
    ON relations.term_taxonomy_id=taxes.term_taxonomy_id 
    INNER JOIN wp_terms AS terms 
    ON taxes.term_id=terms.term_id 
    WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product') 
    AND taxes.parent = 7447 <-- Add this extra condition 
+0

您好thx,为您的awnser和编辑:) im目前正在上传一个测试数据库,但我在阿鲁巴,互联网真的很慢:(我认为这不会涉及parrent内的任何子类别?一个3级的子猫? – 2014-11-20 19:30:43

+0

@CoenPonsen,我不能说没有看表结构,但是,上述查询将只会得到行'(parent_id = 7447)匹配。 – Rahul 2014-11-20 19:33:03

+0

我想我必须写一个php脚本,我目前正在寻找本地后端功能 – 2014-11-20 19:34:41

相关问题