9

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

我已经查看了数据库本身,但仍然没有运气。有任何想法吗?我需要表名和字段名。

4

3 回答 3

16

我在 Magento Question Answers Guild 的会员资格要求我建议您修复 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在不同的范围级别上有一个集合,那么可能有不止一行。

于 2012-09-20T04:22:06.283 回答
1

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

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

于 2012-09-20T08:48:50.567 回答
-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 
于 2014-05-08T21:15:28.013 回答