我正在尝试创建一个MySQL查询来更新Woocommerce中的所有产品变体税类。
使用下面的查询我一直收到此错误,而不是我之前遇到的问题,谷歌似乎提供了各种答案,但我无法将修复程序与我的查询联系起来。
我收到错误 - #1292 - 截断错误的DOUBLE值:'产品'?
我不明白错误会影响产品的价值吗?
UPDATE wp_postmeta a
JOIN wp_posts b ON b.id = a.post_id
SET a.meta_value = 'test456'
WHERE b.post_type = 'product_variation' & a.meta_key = '_tax_class'
感谢您阅读
答案 0 :(得分:1)
试试这个:
UPDATE wp_postmeta a
JOIN wp_posts b ON b.id = a.post_id
SET a.meta_value = 'test456'
WHERE b.post_type = 'product_variation' and a.meta_key = '_tax_class'
答案 1 :(得分:0)
首先,&
不是AND
。它是按位AND
。你想要布尔变种。
UPDATE wp_postmeta pm JOIN
wp_posts p
ON p.id = pm.post_id
SET pm.meta_value = 'test456'
WHERE p.post_type = 'product_variation' AND
pm.meta_key = '_tax_class'
由于MySQL的规则,我认为解释为:
WHERE ((p.post_type = ('product_variation' & pm.meta_key) ) = '_tax_class'
(或类似的东西)。关键是值不会按预期解释。而且,数字也会涉及,因为布尔表达式在数字上下文中被视为数字。