MySQL 截断不正确的 DOUBLE 值错误
MySQL Truncated incorrect DOUBLE value error
我正在尝试创建一个 MySQL 查询来更新 Woocommerce 中的所有产品变体税 class。
使用下面的查询时,我不断收到此错误,这不是我以前遇到过的问题,google 似乎提供了多种答案,但我无法将修复与我的查询相关联。
我收到错误 - #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'
感谢阅读
试试这个:
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'
首先,&
不是 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'
(或类似的东西)。关键是这些值没有按照您的预期进行解释。而且,数字也参与其中,因为布尔表达式在数字上下文中被视为数字。
我正在尝试创建一个 MySQL 查询来更新 Woocommerce 中的所有产品变体税 class。
使用下面的查询时,我不断收到此错误,这不是我以前遇到过的问题,google 似乎提供了多种答案,但我无法将修复与我的查询相关联。
我收到错误 - #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'
感谢阅读
试试这个:
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'
首先,&
不是 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'
(或类似的东西)。关键是这些值没有按照您的预期进行解释。而且,数字也参与其中,因为布尔表达式在数字上下文中被视为数字。