DBAtlas · Atlas d'exploitation des bases de données

1406: Data too long for column (données trop longues pour la colonne)

MySQL

Que signifie cette erreur ?

Une valeur plus longue que la longueur maximale définie de la colonne a été écrite. Par exemple, une chaîne de 20 caractères ne tient pas dans une colonne VARCHAR(10).

Cause

Largeur de colonne trop petite pour les données ; caractères d'un jeu multi-octets (utf8mb4) occupant plus d'espace que prévu ; résultat de concaténation devenant plus long ; mode SQL strict actif (sinon la valeur est tronquée silencieusement).

Comment la corriger

Élargissez la colonne : ALTER TABLE my_table MODIFY my_column VARCHAR(255); Pour un contenu très long, envisagez le type TEXT. Si la valeur doit être raccourcie, tronquez-la dans l'application ou avec SUBSTRING. Trouvez la ligne en dépassement : SELECT * FROM my_table WHERE CHAR_LENGTH(my_column) > 10; Ajoutez une validation des saisies.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur