MySQL-Datenbank mit eindeutigen Feldern: Leerzeichen am Ende ignorieren
Bei der Arbeit mit MySQL-Datenbanken kann es zu einem Problem kommen, bei dem eindeutige Felder am Ende Leerzeichen ignorieren . Dies kann auftreten, wenn Sie Eingaben mit unterschiedlichen Abständen links oder rechts von Wörtern speichern müssen, die Datenbank die nachgestellten Leerzeichen jedoch automatisch schneidet.
Dieses Problem ist auf die Standardverarbeitung von Zeichenfolgen durch MySQL zurückzuführen, bei der nachgestellte Leerzeichen ignoriert werden Vergleiche. Um dieses Verhalten zu verstehen, berücksichtigen Sie Folgendes:
<br>VARCHAR my_field UNIQUE NOT NULL;<br>
Wenn Sie „apple“ und „ apple' (mit nachgestelltem Leerzeichen) in dieses Feld ein, schlägt die eindeutige Prüfung fehl, da MySQL beide Werte als identisch behandelt.
Mögliche Lösungen:
<br>ALTER TABLE my_table MODIFY my_field VARBINARY (255) UNIQUE;<br>
CREATE TABLE my_table (
my_field VARCHAR(255) UNIQUE COLLATE utf8mb4_0900_ai_ci
);
< ;/pre>
- Benutzerdefinierte Sortierung (nicht empfohlen):
Sie können eine benutzerdefinierte Sortierung mit dem NO PAD-Attribut erstellen, dies wird jedoch nicht empfohlen, da es zu Problemen führen kann Kompatibilitätsprobleme.Fazit:
Indem Sie das Standardverhalten von MySQL verstehen und die entsprechenden Lösungen implementieren, können Sie sicherstellen, dass Ihre eindeutigen Felder nachfolgende Leerzeichen wie folgt behandeln gewünscht.
Das obige ist der detaillierte Inhalt vonEindeutige MySQL-Felder: Wie gehe ich mit nachgestellten Leerzeichen um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!