通过 MySQL SQL 批量修改 Magento 产品详情

文章目录

    背景

    Magento 批量导入的产品详情中,图片的 alt 属性有问题,导致在前端显示不正常。需要通过 SQL 批量修改。

    产品详情在哪个表

    Magento 2.4.6 版本,产品详情在 catalog_product_entity_text 表中,字段 value 中存储了产品详情的 HTML 内容。

    这里很有意思,magento 的产品 SKU,name,price,detail 存储在不同的表中,例如:

    • 产品 SKU 存储在 catalog_product_entity 表中
    • 产品名称存储在 catalog_product_entity_varchar 表中
    • 产品价格存储在 catalog_product_entity_decimal 表中
    • 产品详情存储在 catalog_product_entity_text 表中

    查询有问题的产品详情

    SELECT *
    FROM catalog_product_entity_text
    WHERE value LIKE '%sometext%' ;
    

    批量修改产品详情

    批量修改前,可以先用一条数据作为测试,例如指定 value_id 为 12345 的数据。
    测试没有问题后,再批量修改所有数据。

    UPDATE catalog_product_entity_text
    SET value = REPLACE(value, '.jpg'' alt="', '.jpg" alt="')
    WHERE value LIKE '%.jpg'' alt="%';
    
    UPDATE catalog_product_entity_text
    SET value = REPLACE(value, '.jpeg'' alt="', '.jpeg" alt="')
    WHERE value LIKE '%.jpeg'' alt="%';
    
    UPDATE catalog_product_entity_text
    SET value = REPLACE(value, '.png'' alt="', '.png" alt="')
    WHERE value LIKE '%.png'' alt="%';
    

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式