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_IDchỉ số là một chìa khóa duy nhất trên increment_idcột trong sales_flat_invoicebảng. Khi tôi tìm trong bảng này để tìm increment_idlỗi được đề cập trong lỗi ( 51986), tôi thấy đã có một hóa đơn có increment_idtrong đó 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 51986có 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ã;)