性能问答>从SQL中的选择查询中将值设置为NULL>
2回复

从SQL中的选择查询中将值设置为NULL



一个选择查询获取了这样的数据:

SELECT cpe.entity_id,
       cpe.type_id,
       cpe.sku,
       cped.value AS "PRICE"

FROM catalog_product_entity AS cpe

LEFT JOIN catalog_product_entity_decimal AS cped 
ON cped.entity_id = cpe.entity_id

WHERE cpe.type_id = 'configurable' AND cped.attribute_id = 77

现在想将所有行的 cped.value 列更新为 null:

UPDATE 
    cped
SET
    cped.value = NULL
FROM 
    catalog_product_entity AS cpe
    LEFT JOIN catalog_product_entity_decimal AS cped 
    ON cped.entity_id = cpe.entity_id
WHERE 
    cpe.type_id = 'configurable' 
    AND cped.attribute_id = 77

但它在第 5 行的“FROM catalog_product_entity AS cpe LEFT JOIN catalog_product_entit ...”附近出现语法错误。

 

怎么办!各位大佬求解!

215 阅读
请先登录,再评论

UPDATE没有子句,所以需要在子句FROM中加入表UPDATE

RIGHT JOIN catalog_product_entity AS cpe  ON cped.entity_id = cpe.entity_id
SET
    cped.value = NULL

WHERE 
    cpe.type_id = 'configurable' 
    AND cped.attribute_id = 77;

1月前

你先查出来数据再去更新,而不是关联更新。mysql没有关联更新

1月前