Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn MySQL để thay đổi giá sản phẩm thay đổi trong 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';

ĐÃ THÊM Nếu bạn muốn hợp nhất tất cả truy vấn trên thành một truy vấn duy nhất, bạn có thể sử dụng truy vấn này:

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");

Ngoài ra, bạn phải xóa bộ nhớ đệm giá sản phẩm WooCommerce được lưu trữ trong wp_options bảng trong _transient_timeout_wc_var_prices_{{post_id}} _transient_wc_var_prices_{{post_id}} trong option_name

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

Tất cả truy vấn trên đều được thử nghiệm và phù hợp với tôi.

Trước khi chạy truy vấn này, hãy sao lưu cơ sở dữ liệu

Tham khảo: Sao chép sản phẩm WooCommerce Giá ưu đãi thành giá thông thường và đặt lại Giá ưu đãi

Hy vọng điều này sẽ hữu ích!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để triển khai commit / rollback cho MySQL trong PHP?

  2. Làm cách nào để thay đổi mật khẩu của người dùng root trong MySQL?

  3. Laravel + Vagrant =Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost'

  4. Sao chép một bảng duy nhất

  5. min (column) không trả về cho tôi dữ liệu chính xác của các cột khác