Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie MySQL, aby zmienić zmienną cenę produktu w WooCommerce

//for Regular Price
UPDATE wp_postmeta 
SET meta_value = diff_price_value 
WHERE post_id = variation_id AND meta_key = '_regular_price';

//for Price
UPDATE wp_postmeta 
SET meta_value = price_value 
WHERE post_id = variation_id AND meta_key = '_price';

//for Sale Price
UPDATE wp_postmeta 
SET meta_value = price_value 
WHERE post_id = variation_id AND meta_key = '_sale_price';

DODANO Jeśli chcesz scalić wszystkie powyższe zapytania w jedno, możesz użyć tego:

UPDATE wp_postmeta
SET meta_value = CASE
                   WHEN meta_key = "_regular_price" THEN diff_price_value
                   WHEN meta_key = "_price" THEN price_value
                   WHEN meta_key = "_sale_price" THEN price_value
                   ELSE meta_key
               END
WHERE post_id = variation_id
  AND meta_key IN ("_regular_price", "_price", "_sale_price");

Musisz także usunąć buforowanie cen produktów WooCommerce, które jest przechowywane w wp_options tabela pod _transient_timeout_wc_var_prices_{{post_id}} i _transient_wc_var_prices_{{post_id}} w option_name

DELETE
FROM `wp_options`
WHERE (`option_name` LIKE '_transient_wc_var_prices_%'
    OR `option_name` LIKE '_transient_timeout_wc_var_prices_%')

Wszystkie powyższe zapytania są dla mnie przetestowane i działają.

Przed uruchomieniem tego zapytania wykonaj kopię zapasową bazy danych

Odniesienie:Kopiuj produkty WooCommerce Ceny sprzedaży do cen regularnych i zresetuj ceny sprzedaży

Mam nadzieję, że to pomoże!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL JOIN Multiple Tables With LIMIT Last Table By DateTime na wynik

  2. Sole haseł — czy robię to dobrze?

  3. Projekt tabeli encja-atrybut-wartość

  4. Nie można zainstalować mysqlclient w virtualenv na nowym Macu

  5. Przekazywanie tablicy do zapytania za pomocą klauzuli WHERE