2012-09-20 10 views
7

Próbuję zaktualizować "Special_price" i "price" hurtowo z mySQL skryptem php, znam tabelę i wiersz zawierający "cenę", ale nie tę, która zawiera "special_price".Gdzie jest tabela z "Ceną specjalną" w Magento?

Wygląda jednak na samą bazę danych i nadal nie ma szczęścia. Jakieś pomysły? Potrzebuję nazwy tabeli i nazwy pola.

+0

poszukaj kodu attribute_code w tabeli eav_attribute. Założę się, że istnieje wtyczka do tego, nikt nie powinien grać bezpośrednio z db w magento –

+0

:/dobrze idealnie tak .. ale dostaję błędy za pomocą API. Jak jednak pomaga mi atrybut id? – Nicekiwi

Odpowiedz

12

mojego członkostwa w Magento pytanie Odpowiedzi Gildia wymaga ode mnie sugerują pracować na ustalenie swoje błędy API zamiast używać zwykły stary SQL do aktualizacji bazy danych. Jak wspomniano w innym miejscu, aktualizacja bazy danych bezpośrednio może wprowadzić Magento w stan nie rozpoznany przez system, co może prowadzić do dziwnych, irytujących błędów.

Powiedział, że szczególny stosunek cena zostanie zapisany z innym produktem wartości atrybutów w tabeli

catalog_product_entity_decimal 

. Ta tabela ma kolumnę attribute_id, która ma relację klucza obcego z tabelą eav_attribute. Sprawdź w tabeli eav_attribute atrybut z kodem special_price. To attribute_id i produkt entity_id powinny wystarczyć do znalezienia właściwego wiersza w catalog_product_entity_decimal.

Pamiętaj rząd nie będzie istnieć, jeśli produkt nie posiada special_price zestawu. Należy również pamiętać, że produkt ma zestaw special_price na różnych poziomach zasięgu, w którym może być więcej niż jeden wiersz.

+0

Wielkie dzięki. Przyznaj swoją odpowiedź. Mor mnie działa dobrze na magento 1.9.1.0 – abkrim

1

Cena specjalna jest atrybutem rodzaju dziesiętnego. Najpierw trzeba uzyskać identyfikator atrybutu, przy zastosowaniu tej sql zapytanie: SELECT attribute_id FROM eav_attribute WHERE attribute_code='special_price';

Następnie można dodać specjalną cenę dla każdego produktu poprzez wstawienie rekordu do catalog_product_entity_decimal tabeli.

-1

Oto jak usunąć specjalną cenę z listy SKU importowanych z pliku csv do 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

Nie wydaje się, aby odpowiedzieć na zadane pytanie, które dotyczy * zmiany * specjalnych cen, a nie * usuwania * ich. Powinieneś również wyjaśnić, dlaczego to działa i jaka jest magiczna liczba 76 (w oparciu o inne odpowiedzi, podejrzewam, że jest to tylko 76 w * twojej * bazie danych). – zwol

Powiązane problemy