在Magento中持有“特价”的桌子在哪里?

时间:2012-09-20 00:22:40

标签: php mysql magento

我试图用mySQL和PHP脚本批量更新“Special_price”和“price”,我知道包含“价格”但不包含“special_price”的表格和行。

我看起来虽然数据库本身仍然没有运气。有任何想法吗?我需要表名和字段名。

3 个答案:

答案 0 :(得分:16)

我在Magento问题解答公会中的成员资格要求我建议您修复API错误,而不是使用普通的旧SQL来更新数据库。如其他地方所述,直接更新数据库可能会使Magento进入系统无法识别的状态,这可能导致奇怪的,令人愤怒的错误。

也就是说,特殊价格值将与

中的其他产品属性值一起存储
catalog_product_entity_decimal

表。此表具有attribute_id列,该列与eav_attribute表具有外键关系。在eav_attribute表中查找代码为special_price的属性。 attribute_id和产品的entity_id应足以在catalog_product_entity_decimal中找到正确的行。

请注意,如果产品没有设置special_price,则不会存在任何行。另请注意,如果产品的special_price设置在不同的范围级别,那么可能会有多行。

答案 1 :(得分:1)

特价是十进制类型的属性。 首先,您需要通过应用此sql查询来获取属性id:     SELECT attribute_id FROM eav_attribute WHERE attribute_code='special_price';

然后,您可以通过在catalog_product_entity_decimal表中插入记录为任何产品添加特价。

答案 2 :(得分:-1)

以下是如何从通过csv文件导入的SKU列表中删除特殊价格到temp_import_sp_price_delete

delete deci from catalog_product_entity_decimal deci, 
                 `catalog_product_entity` pr,
                 temp_import_sp_price_delete temp 
where temp.SKU= pr.SKU and pr.entity_id=deci.entity_id and deci.attribute_id=76