1366: Incorrect string/integer value for column (valeur de chaîne/entière incorrecte pour la colonne)
MySQLQue 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.
Autres entrées pour ce moteur
- 1215Cannot add foreign key constraint (impossible d'ajouter la contrainte de clé étrangère)
- 1451Cannot delete or update a parent row: a foreign key constraint fails (suppression ou mise à jour de la ligne parente impossible : échec de la contrainte de clé étrangère)
- 1452Cannot add or update a child row: a foreign key constraint fails (ajout ou mise à jour de la ligne enfant impossible : échec de la contrainte de clé étrangère)
- 1044Access denied for user to database (accès refusé à la base de données pour l'utilisateur)
- 1264Out of range value for column (valeur hors limites pour la colonne)
- 1052Column 'x' in field list is ambiguous (colonne ambiguë dans la liste des champs)
- 1136Column count doesn't match value count (le nombre de colonnes ne correspond pas au nombre de valeurs)