通过MySQL查询批量更新简单产品“状态”
我刚刚将12k个产品导入到我的Magento目录。通过MySQL查询批量更新简单产品“状态”
问题是,产品带有未定义的“状态”字段,如果我想在前端商店中使用它们,我需要手动将其设置为“启用”。手动完成此操作需要数小时。
你知道这个设置在数据库中定义的位置吗?你知道这会自动查询(我想将所有产品设置为“启用”)。为使
UPDATE Catalog SET Status='Enabled'
如果你想拥有它的默认启用的,你可以修改这个有点
将设置所有行。
ALTER TABLE `Catalog` CHANGE `Status` `Status` ENUM('','Enabled','Disabled') NOT NULL DEFAULT 'Enabled'
哪个版本的Magento适用于? – Alex
这似乎并不适用于任何magento版本。 –
# 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表结构中检查此值。感谢这一点,它帮助我。 – DreamWave
你可以写一个小的脚本。 – Kailas