2017-10-03 33 views
1

J'ai un problème avec un magasin woocommerce. Les produits aléatoires se sont retrouvés avec la valeur de la taxe de variation définie comme «standard» qui est en train de remplacer le réglage de la classe d'imposition réelle des produits de «taux zéro».Requête SQL pour modifier les variations de produit WooCommerce taxe

Pour résoudre ce problème, tout ce qui doit être fait est que les valeurs _tax_class des variations de produits (pas les produits parents) soient définies sur 'parent'. Une fois cela fait, woocommerce par défaut le _tax_class du produit lui-même.

Jusqu'à présent, j'ai créé le script suivant pour me permettre de modifier manuellement les classes de taxe à partir de PHPMyAdmin, cependant, je suis incapable de modifier les valeurs en raison de l'erreur mentionnée ci-dessous la requête.

SELECT wp_postmeta.* , wp_posts.post_type, wp_posts.post_title, wp_posts.ID 

FROM wp_postmeta INNER JOIN wp_posts 

ON wp_posts.id = wp_postmeta.post_id 

WHERE wp_postmeta.meta_key = '_tax_class' AND wp_posts.post_type = 'product_variation' 

Message d'erreur;

'Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available'

J'ai crois que ce peut être un problème d'indexation en raison de la taille de la grande base de données (300 Mo non compressé), mais Ive été incapable de le faire pour voir la clé primaire de tables soit.

Toute aide ou pointeurs serait génial !!

Merci

Répondre

1

Voici pure requête SQL pour mettre à jour toutes vos variantes de produits de classe d'impôt à un 'parent' valeur:

UPDATE `wp_postmeta` 
SET `meta_value` = 'parent' 
WHERE `meta_key` LIKE '_tax_class' 
    AND `post_id` IN 
    (SELECT `ID` 
    FROM `wp_posts` 
    WHERE `post_type` = 'product_variation'); 

Ceci est testé et fonctionne

Mais ... Avant d'exécuter cette requête, vous devez effectuer une sauvegarde de la base de données

+0

c'est super merci donc beaucoup! –