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

1366: Incorrect string/integer value for column (valeur de chaîne/entière incorrecte pour la colonne)

MySQL

Que signifie cette erreur ?

Une valeur incompatible avec le type ou le jeu de caractères de la colonne a été insérée dans une colonne. Généralement causé par une incohérence d'encodage de caractères ou de type.

Cause

Écriture d'un emoji/caractère sur 4 octets (utf8mb4) dans une colonne latin1, saisie d'un texte non numérique dans une colonne numérique, mauvais charset de connexion, ou envoi d'une valeur d'un type différent de celui attendu.

Comment la corriger

Pour les problèmes de caractères, convertissez la colonne/table en utf8mb4 : ALTER TABLE my_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci et définissez le charset de connexion sur utf8mb4. Validez les types dans l'application pour les champs numériques. N'oubliez pas que le serveur fonctionne en mode SQL strict (STRICT) ; la cause racine est le type/l'encodage des données.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur