Maison >base de données >tutoriel mysql >Comment résoudre l'erreur MySQL 1406 : données trop longues pour la colonne ?

Comment résoudre l'erreur MySQL 1406 : données trop longues pour la colonne ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-04 05:06:39895parcourir

How to Solve MySQL Error 1406: Data Too Long for Column?

Erreur MySQL : "1406. Données trop longues pour la colonne"

Lorsque vous essayez d'insérer des données dans une table MySQL où la longueur des données de la colonne dépasse sa largeur définie, vous Je rencontrerai l'erreur « Code d'erreur : 1406. Données trop longues pour la colonne ».

Considérez ceci exemple :

CREATE  TABLE `TEST` (
  `idTEST` INT NOT NULL ,
  `TESTcol` VARCHAR(45) NULL ,
  PRIMARY KEY (`idTEST`) 
);

L'insertion de données dans la longueur de colonne spécifiée fonctionne comme prévu :

INSERT INTO TEST
VALUES
(
    1,
    'Vikas'
);

Cependant, tenter d'insérer des données qui dépassent la longueur de colonne maximale entraîne l'erreur :

INSERT INTO TEST
VALUES
(
    2,
    'Vikas Kumar Gupta Kratika Shukla Kritika Shukla'
);

Cela se produit parce que MySQL tronque toute valeur d'insertion plus longue que la colonne spécifiée width.

Solution :

Pour résoudre ce problème, désactivez temporairement le mode strict de MySQL :

Dans votre my.ini (Windows) ou le fichier my.cnf (Unix) :

Modifiez le paramètre "sql-mode" pour supprimer "STRICT_TRANS_TABLES":

# Set the SQL mode to strict
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Utilisation d'une requête SQL dans un outil de gestion de base de données :

Exécutez la requête suivante pour définir le mode SQL global sur vide :

SET @@global.sql_mode= '';

Avec le mode strict désactivé, vous pouvez insérer des données qui dépassent la longueur de la colonne. Soyez toutefois prudent car cela peut entraîner des troncatures de données et des incohérences, utilisez donc cette solution judicieusement.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn