Tôi đang giúp một thương gia theo dõi nguyên nhân gốc rễ cho một số giao dịch thanh toán không thành công (trong một ngày đặt hàng nặng), đã thất bại với lỗi sau
SQLSTATE [23000]: Vi phạm ràng buộc toàn vẹn: 1062 Mục nhập trùng lặp '51986' cho khóa 'UNQ_SALES_FLAT_INVOICE_INCREMENT_ID'
Các UNQ_SALES_FLAT_INVOICE_INCREMENT_ID
chỉ số là một chìa khóa duy nhất trên increment_id
cột trong sales_flat_invoice
bảng. Khi tôi tìm trong bảng này để tìm increment_id
lỗi được đề cập trong lỗi ( 51986
), tôi thấy đã có một hóa đơn có increment_id
trong đó và đó là một đơn đặt hàng được đặt bởi một khách hàng khác.
2 câu hỏi của tôi liên quan đến điều này
Trường hợp trong Magento CE 1.9.0.1 là ID hóa đơn thường được tạo?
Có vấn đề nào được biết đến trong một cổ phiếu Magento CE 1.9.0.1 với ID hóa đơn va chạm cho các đơn hàng gần đồng thời không?
Tôi nhận ra ID gia tăng 51986
có nghĩa là cửa hàng có một số loại tiện ích mở rộng để thay đổi ID gia tăng được cài đặt, nhưng tôi muốn chắc chắn rằng khoa học không biết đến điều này trước khi đi quá xa con đường đó.
save()
cuộc gọi phương thức trong một sự kiện quan sát cụ thể đôi khi sẽ gây ra vấn đề này - trong những ngày trước khi xem xét mã;)