2011-08-25 37 views
5

Tôi vừa mới nhập hơn 12k sản phẩm vào danh mục Magento của mình.Cập nhật hàng loạt sản phẩm đơn giản "trạng thái" qua truy vấn MySQL

Sự cố là, các sản phẩm có trường "Trạng thái" không được xác định và tôi cần phải hiển thị chúng theo cách "Bật" theo cách thủ công nếu tôi muốn sử dụng chúng trong cửa hàng giao diện người dùng. Làm điều này bằng tay sẽ mất nhiều giờ.

Bạn có biết cài đặt này được xác định trong cơ sở dữ liệu ở đâu không? Bạn có biết một truy vấn tự động điều này không (tôi muốn đặt TẤT CẢ sản phẩm thành "Đã bật").

+0

Bạn có thể viết một kịch bản nhỏ cho điều đó. – Kailas

Trả lời

-7

sẽ thiết lập tất cả hàng như kích hoạt

UPDATE Catalog SET Status='Enabled' 

Nếu bạn muốn có nó được kích hoạt theo mặc định bạn có thể sửa đổi này một chút.

ALTER TABLE `Catalog` CHANGE `Status` `Status` ENUM('','Enabled','Disabled') NOT NULL DEFAULT 'Enabled' 
+0

Phiên bản Magento nào áp dụng cho điều này? – Alex

+4

Điều này không áp dụng cho bất kỳ phiên bản Magento nào. –

16
# First find the ID of the product status attribute in the EAV table: 
SELECT * FROM eav_attribute where entity_type_id = 4 AND attribute_code = 'status' 

# Then use that status attribute ID ($id) while querying the product entity table: 
UPDATE catalog_product_entity_int SET value = 1 WHERE attribute_id = $id 
  • 1 - kích hoạt
  • 2 - tàn tật
+0

Hãy nhớ rằng các giá trị khác nhau được lưu trữ trong các bảng khác nhau. Nếu giá trị của bạn là loại 'varchar', nó sẽ nằm trong catalog_product_entity_varchar - bạn có thể kiểm tra điều này trong cấu trúc bảng eav_attribute. Cảm ơn vì điều này, nó đã giúp tôi. – DreamWave

Các vấn đề liên quan