0

我正在尝试禁用许多在我的 Magento 安装中没有图像的产品。

以下 SQL 查询应该获取所有没有图像的产品,但我需要一种方法将所有没有图像的产品设置为禁用状态?

SELECT * FROM catalog_product_entity_media_gallery
        RIGHT OUTER JOIN catalog_product_entity
            ON catalog_product_entity.entity_id = talog_product_entity_media_gallery.entity_id 
   WHERE catalog_product_entity_media_gallery.value is NULL
4

4 回答 4

3

我将它用于 magento 2.2.3

更新 catalog_product_entity_int m
在 a.entity_type_id = 4 和 a.attribute_id = m.attribute_id 上左加入 eav_attribute a
设定值 = 2
在哪里
  a.attribute_code = '状态'
  和 m.entity_id 在
    (
      选择 m.entity_id
      来自 catalog_product_entity m
      左加入catalog_product_entity_media_gallery_value_to_entity a
        在 a.entity_id = m.entity_id
      其中 a.value_id 为空
    )
;
于 2019-01-05T16:02:51.557 回答
2

这是您正在寻找的 Kode:

-- here you set every one as DISABLED (id 2)
UPDATE catalog_product_entity_int SET value = 2 
-- here you are change just the attribute STATUS
WHERE attribute_id = 4
    -- here you are looking for the products that match your criteria
    AND entity_id IN (
        -- your original search
        SELECT entity_id 
        FROM catalog_product_entity_media_gallery
        RIGHT OUTER JOIN catalog_product_entity ON catalog_product_entity.entity_id = catalog_product_entity_media_gallery.entity_id 
        WHERE catalog_product_entity_media_gallery.value is NULL
    );
于 2013-07-02T13:05:11.430 回答
0

这显然适用于任何其他属性,因此只需根据需要更改代码。

enabled = 1
disabled = 2

UPDATE catalog_product_entity_int cpei, catalog_product_entity cpe
SET cpei.value = "2"
WHERE cpe.entity_id = cpei.entity_id
AND cpe.sku LIKE '%SKU%'
AND cpei.attribute_id = 273

您也可以参考详细文档链接

让我知道我是否可以进一步帮助您

于 2013-07-02T12:48:39.733 回答
0

我稍微修改了一下,这对我有用

删除 WHERE attribute_id = 4并将SELECT entity_id 更新为 SELECT catalog_product_entity.entity_id

UPDATE catalog_product_entity_int SET value = 2 
WHERE entity_id IN(
        SELECT catalog_product_entity.entity_id 
        FROM catalog_product_entity_media_gallery
        RIGHT OUTER JOIN catalog_product_entity ON catalog_product_entity.entity_id = catalog_product_entity_media_gallery.entity_id 
        WHERE catalog_product_entity_media_gallery.value is NULL
    );
于 2014-07-16T11:14:18.003 回答