2017-05-24 5 views
0

Woocommerce에서 모든 제품 변형 세금 클래스를 업데이트하기 위해 MySQL 쿼리를 만들려고합니다.MySQL 잘못된 잘못된 DOUBLE 값 오류 잘림

아래의 쿼리를 사용하면이 오류가 계속 발생합니다. 이전에 건너 왔던 것이 아니라 Google에서 다양한 답변을 제공하는 것으로 보이지만 수정 사항을 내 쿼리와 관련시킬 수 없습니다.

오류가 발생합니다 - # 1292 - 잘못된 DOUBLE 값이 잘림 : '제품'?

제품의 가치가 오류의 원인인지 이해할 수 없습니까? 이 시도

답변

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' & a.meta_key = '_tax_class' 

감사 :

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입니다. 부울형을 원한다. 때문에 MySQL의 규칙의

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' 

, 내가로 해석됩니다 생각 :

WHERE ((p.post_type = ('product_variation' & pm.meta_key)) = '_tax_class' 

(또는 비슷한). 요점은 값이 예상대로 해석되지 않는다는 것입니다. 부울식이 숫자 컨텍스트에서 숫자로 처리되므로 숫자가 복잡해집니다.