Tại sao truy vấn này tạo ra lỗi "Mục nhập trùng lặp"?CHỌN DISTINCT không hoạt động
TRUNCATE parim_firm_tag_names;
INSERT INTO parim_firm_tag_names (firm_tag_name_value)
SELECT DISTINCT sona
FROM parim_marksona;
Thông báo lỗi:
Lỗi SQL (1062): Duplicate entry '1 - ??????? ?????? ' cho khóa 'firm_tag_name_value'
Như bạn thấy, firm_tag_name_value
có một chỉ số duy nhất, tôi sử dụng DISTINCT
chọn và tôi cắt bỏ tất cả các dữ liệu hiện có từ tag_names
.
Điều gì có thể tạo ra lỗi này?
Các định nghĩa của cả hai bảng là gì? Có thể ảnh hưởng của chuyển đổi tiềm ẩn giữa các kiểu dữ liệu khác nhau hoặc các tùy chọn độ nhạy trường hợp khác nhau? –
Tôi đoán nó phải làm với bộ ký tự (collations) trong 'parim_marksona.sona' vs' parim_firm_tag_names.firm_tag_name_value'. Các dấu hỏi trong thông báo lỗi cho thấy có một số ký tự không phải tiếng Anh trong dữ liệu. –
Vui lòng cung cấp cấu trúc bảng để xem lý do chính xác cho lỗi này. –