Warum erzeugt diese Abfrage einen Fehler "Doppeleintrag"?SELECT DISTINCT funktioniert nicht
TRUNCATE parim_firm_tag_names;
INSERT INTO parim_firm_tag_names (firm_tag_name_value)
SELECT DISTINCT sona
FROM parim_marksona;
Fehlermeldung:
SQL-Fehler (1062): doppelte Eintrag ‚1 - ??????? ?????? für Schlüssel ‚firm_tag_name_value‘
Wie Sie sehen können, firm_tag_name_value
einen eindeutigen Index hat, verwende ich DISTINCT
wählen, und ich bin alle vorhandenen Daten aus tag_names
Kürzen.
Was könnte diesen Fehler verursachen? mit deutlichen können die Ergebnisse in unterschiedlichen Werten auf Groß- und Kleinschreibung und Groß- und Kleinschreibung collation
Werte
Was sind die Definitionen für beide Tabellen? Vielleicht ein Effekt von impliziten Konvertierungen zwischen verschiedenen Datentypen oder verschiedenen Optionen für die Groß- und Kleinschreibung? –
Ich vermute, es hat mit Zeichensätzen (Kollatierungen) in 'parim_marksona.sona' vs' parim_firm_tag_names.firm_tag_name_value' zu tun. Die Fragezeichen in der Fehlermeldung weisen darauf hin, dass in den Daten einige nicht englische Zeichen enthalten sind. –
Bitte geben Sie die Tabellenstruktur an, um den genauen Grund für diesen Fehler zu sehen. –