2012-09-20 99 views
7

我試圖用mySQL批量更新「Special_price」和「price」作爲php腳本,我知道包含「價格」的表格和行,但不包含包含「special_price」的表格和行。Magento中包含「特殊價格」的表格在哪裏?

我看起來雖然數據庫本身,仍然沒有運氣。有任何想法嗎?我需要表格名稱和字段名稱。

+0

查找eav_attribute表中的attribute_code。我敢打賭有一個插件可以做到這一點,沒有人應該直接使用數據庫在magento – 2012-09-20 00:35:19

+0

:/理想情況下是的..但是即時通訊使用API​​得到錯誤。然而,屬性ID如何幫助我? – Nicekiwi

回答

12

我在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設置在不同的作用域級別,那麼可能有多行。

+0

非常感謝。 Apreciate你的答案。 Mor我在magento上工作得很好1.9.1.0 – abkrim

1

特殊價格是十進制類型的屬性。 首先,你需要獲取屬性ID,通過應用這個SQL查詢: SELECT attribute_id FROM eav_attribute WHERE attribute_code='special_price';

然後,您可以通過插入一條記錄到catalog_product_entity_decimal表中添加一個特殊的價格任何產品。

-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 
+0

這似乎沒有回答被問到的問題,這是關於*改變*特殊價格,而不是*刪除*它們。另外,你應該解釋爲什麼這會起作用,以及神奇數字76意味着什麼(基於其他答案,我懷疑它只有76 *在你的數據庫中)。 – zwol