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

更新日期: 2025-05-10 阅读次数: 52 字数: 304 分类: 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 聊聊, 查看更多联系方式