Maison > Article > base de données > Champs uniques MySQL : comment gérer les espaces de fin ?
Base de données MySQL avec champs uniques : ignorer les espaces de fin
Lorsque vous travaillez avec des bases de données MySQL, vous pouvez rencontrer un problème où les champs uniques ignorent les espaces de fin . Cela peut se produire lorsque vous devez stocker des entrées avec un espacement variable à gauche ou à droite des mots, mais la base de données supprime automatiquement les espaces de fin.
Ce problème provient de la gestion par défaut des chaînes par MySQL, qui ignore les espaces de fin pendant comparaisons. Pour comprendre ce comportement, considérez ce qui suit :
<br>VARCHAR my_field UNIQUE NOT NULL;<br>
Si vous insérez 'apple' et ' apple' (avec un espace à la fin) dans ce champ, la vérification unique échouera car MySQL traite les deux valeurs comme identiques.
Solutions possibles :
<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>
- Classement personnalisé (non recommandé) :
Vous pouvez créer un classement personnalisé avec l'attribut NO PAD, mais cela n'est pas recommandé car cela peut introduire problèmes de compatibilité.Conclusion :
En comprenant le comportement par défaut de MySQL et en implémentant les solutions appropriées, vous pouvez vous assurer que vos champs uniques gèrent les espaces de fin comme souhaité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!