2017-05-24 71 views
0

我試圖創建一個MySQL查詢來更新Woocommerce中的所有產品變體tax class。MySQL截斷不正確的DOUBLE值錯誤

使用下面的查詢我不斷得到這個錯誤,它不是我以前遇到過的,谷歌似乎提供了各種答案,但我無法將修復與我的查詢聯繫起來。

我收到錯誤 - #1292 - 截斷錯誤DOUBLE值:'product'?

我不明白產品的價值來自哪裏?

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' 

感謝您閱讀

回答

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' 
+0

享受@jonny gogo – kevin

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' 

(或類似的東西)。關鍵的一點是,這些值並不像您所期望的那樣被解釋。而且,數字正在捲入,因爲布爾表達式在數字上下文中被視爲數字。

相關問題