Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Beste Möglichkeit, das TEXT-Feld in der MySQL-Datenbank eindeutig zu halten

Da ich in den Kommentaren gefragt wurde, wie ich das lösen würde, schreibe ich es als Antwort.

In einer solchen Situation zu sein, deutet auf Fehler im Anwendungsdesign hin. Überlegen Sie, was das bedeutet.

Sie haben einen Text, dessen Länge Sie nicht im Voraus festlegen können und der extrem lang sein kann (bis zu 64 KB), dessen Eindeutigkeit Sie beibehalten möchten. Stellen Sie sich eine solche Datenmenge vor, die in separate Schlüssel aufgeteilt wird und einen zusammengesetzten Index zusammenstellt, um Eindeutigkeit zu erzeugen. Das ist es, was Sie versuchen. Für Ganzzahlen wäre dies ein Index von 16000 Ganzzahlen, verbunden in einem zusammengesetzten Index.

Bedenken Sie ferner, dass Felder vom Typ CHARACTER (CHAR, VARCHAR, TEXT) der Interpretation durch Codierung unterliegen, was das Problem weiter verkompliziert.

Ich würde dringend empfehlen, die Daten irgendwie aufzuteilen. Dies befreit das DBMS nicht nur von der Einbindung von Zeichenblöcken variabler Länge, sondern bietet möglicherweise auch die Möglichkeit, zusammengesetzte Schlüssel über Teile der Daten zu generieren. Vielleicht finden Sie sogar eine bessere Speicherlösung für Ihre Daten.

Wenn Sie Fragen haben, würde ich vorschlagen, die Tabellen- und/oder Datenbankstruktur zu posten und zu erklären, welche logischen Daten das TEXT-Feld enthält und warum es Ihrer Meinung nach eindeutig sein muss.