【问题标题】:Mass update simple product "status" via MySQL query通过 MySQL 查询批量更新简单产品“状态”
【发布时间】:2011-08-25 12:24:42
【问题描述】:

我刚刚将超过 12,000 个产品导入到我的 Magento 目录中。

问题是,产品带有未定义的“状态”字段,如果我想在前端商店中使用它们,我需要手动将它们设置为“启用”。手动执行此操作需要数小时。

您知道此设置在数据库中的何处定义吗?您是否知道会自动执行此操作的查询(我想将所有产品设置为“已启用”)。

【问题讨论】:

  • 你可以为此写一个小脚本。

标签: mysql magento e-commerce


【解决方案1】:
# First find the ID of the product status attribute in the EAV table:
SELECT * FROM eav_attribute where entity_type_id = 4 AND attribute_code = 'status'

# Then use that status attribute ID ($id) while querying the product entity table:
UPDATE catalog_product_entity_int SET value = 1 WHERE attribute_id = $id
  • 1 - 启用
  • 2 - 禁用

【讨论】:

  • 请记住,不同的值存储在不同的表中。如果您的值是“varchar”类型,它将位于 catalog_product_entity_varchar - 您可以在 eav_attribute 表结构中检查这一点。谢谢你,它帮助了我。
【解决方案2】:

所有行设置为启用

UPDATE Catalog SET Status='Enabled'

如果你想默认启用它,你可以稍微修改一下。

ALTER TABLE `Catalog` CHANGE `Status` `Status` ENUM('','Enabled','Disabled') NOT NULL DEFAULT 'Enabled'

【讨论】:

  • 这适用于哪个 Magento 版本?
  • 这似乎不适用于任何 magento 版本。
猜你喜欢
  • 2021-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 2015-02-07
  • 1970-01-01
相关资源
最近更新 更多