1406: Data too long for column (données trop longues pour la colonne)
MySQLQue 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.
Autres entrées pour ce moteur
- 1136Column count doesn't match value count (le nombre de colonnes ne correspond pas au nombre de valeurs)
- 1048Column 'x' cannot be null (la colonne ne peut pas être NULL)
- 1292Incorrect datetime value / truncated incorrect value (valeur datetime incorrecte / valeur incorrecte tronquée)
- 1071Specified key was too long; max key length is 767 bytes (clé trop longue ; longueur maximale de 767 octets)
- 1050Table already exists (la table existe déjà)
- 1051Unknown table 'x' (table inconnue)
- 1091Can't DROP 'x'; check that column/key exists (DROP impossible ; vérifiez que la colonne/clé existe)