Thuộc tính sản phẩm không thể được giới thiệu lại


8

Tôi nhận được lỗi này trong khi cố gắng giới thiệu lại "Thuộc tính sản phẩm". Bất cứ ai có thể đề nghị, những gì có thể là vấn đề và giải pháp có thể

Lỗi nghiêm trọng: Đã hủy ngoại lệ 'PDOException' với thông báo 'SQLSTATE [23000]: Vi phạm ràng buộc toàn vẹn: 1062 Mục nhập trùng lặp' 2828-148-1-471 'cho khóa' PRIMARY '' trong E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php: 228 Dấu vết ngăn xếp: # 0 E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php (228): PDOStatement-> exec (Array) # 1 E : \ xampp \ htdocs \ magento \ lib \ Varien \ Db \ Statement \ Pdo \ Mysql.php (110): Zend_Db_Statement_Pdo -> _ exec (Array) # 2 E: \ xampp \ htdocs \ magento \ app \ code \ core \ \ Db \ Statement.php (291): Varien_Db_Statement_Pdo_Mysql -> _ exec (Array) # 3 E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Adapter \ Abstract.php (480): Zend_Db_Statement-> (Array) # 4 E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Adaptor \ Pdo \ Tóm tắtca...', Array) #5 E:\xampp\htdocs\magento\lib\Varien\Db\Adapter\Pdo\Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTOca ... ', Array) # 6 E: \ xampp \ htdocs \ magento \ lib \ Varien \ Db \ Adaptor \ Pdo \ Mysql.php (1998): Varien_Db_Ad CHƯƠNG_Pdo_Mysql trong E: \ xampp \ htdocs \ magento \ lib \ Zend \ Db \ Statement \ Pdo.php trên dòng 234


Bạn đã nhập cơ sở dữ liệu qua phpmyadmin?
Flyingmana

Không, tôi chỉ thêm các sản phẩm theo chương trình @Fellinglama
Prashanta

Câu trả lời:


15

Cách diễn giải thông báo lỗi

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2828-148-1-471' 
for key 'PRIMARY

Trong trường hợp bộ chỉ mục thuộc tính sản phẩm, điều này có nghĩa là có lỗi ràng buộc trong khi lưu bản ghi vào catalog_product_index_eav_idxbảng.

2828-148-1-471 đề cập đến:

  • id thực thể sản phẩm: 2828
  • id thuộc tính: 148
  • cửa hàng id: 1
  • giá trị: 471

Nguồn gốc có thể của vấn đề

Tôi giả sử rằng thuộc tính gây ra sự cố thuộc loại multiselect. Một giá trị được liên kết nhiều lần với một sản phẩm, sẽ gây ra loại lỗi này.

Bạn có thể kiểm tra điều này bằng cách thực hiện truy vấn sau:

SELECT * FROM `catalog_product_entity_varchar` 
where entity_id = 2828 and attribute_id = 148 and store_id = 1;

Tôi đoán rằng id 471 sẽ được liệt kê nhiều lần trong cột value. Mỗi id chỉ nên được liệt kê một lần trong cột đó.

Bạn đang sử dụng một nhà nhập khẩu để thêm dữ liệu sản phẩm vào Magento?


Vâng, đó là nhập khẩu theo chương trình sản phẩm đơn giản của inchoo
Prashanta

Bất kỳ giải pháp nào về vấn đề này, vâng, đó là một lựa chọn đa năng
Prashanta

7

Giải pháp dưới đây làm việc cho tôi và có thể giúp đỡ người khác:

2828-148-1-471 đề cập đến:

id thực thể sản phẩm: 2828 id thuộc tính: 148 store id: 1 value: 471

Chỉ cần mở sản phẩm với id 2828 và lưu nó và reindex lại.

điều đó có thể giải quyết vấn đề của bạn


Giải pháp nào để cập nhật số lượng lớn?
DarkCowboy

3

Tôi hiểu rồi, đó là một vấn đề với các thuộc tính thả xuống đa lựa chọn, Trong tập lệnh của tôi, đôi khi cùng một thuộc tính đã được thêm nhiều lần gây ra lỗi, đăng câu trả lời này cho ai đó nếu cần trợ giúp trong tương lai

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.