
Erreur : taille de ligne trop grande dans MySQL (code d'erreur : 1118) lors de la création d'une table avec 325 colonnes
Lors de la tentative de création d'une table MySQL avec un grand nombre de colonnes (325 dans ce cas), les utilisateurs peuvent rencontrer l'erreur « Code d'erreur : 1118 Taille de ligne trop grande ». Cette erreur se produit lorsque la taille totale des données dans la ligne du tableau dépasse la taille de ligne maximale autorisée par la base de données.
Pour résoudre ce problème, plusieurs mesures peuvent être prises :
- Changer les colonnes en TEXT ou BLOB : Le message d'erreur suggère de convertir les colonnes en types de données TEXT ou BLOB pour réduire leur taille de stockage. Les types de données TEXT et BLOB sont conçus pour stocker respectivement de grandes quantités de données non structurées ou binaires.
-
Activez le format de fichier Barracuda : En ajoutant le paramètre innodb_file_format=Barracuda dans le fichier de configuration MySQL (mon .ini), les utilisateurs peuvent passer au format de fichier Barracuda. Barracuda est un format de fichier plus récent qui offre des performances améliorées et prend en charge des tailles de lignes plus grandes par rapport au format de fichier InnoDB traditionnel.
-
Désactiver le mode strict : Le paramètre innodb_strict_mode peut être désactivé pour permettre la création de tableaux qui dépassent la taille maximale des lignes. Notez toutefois que la désactivation du mode strict peut compromettre l'intégrité des données dans certains cas.
Dans l'exemple fourni, l'utilisateur a remplacé les colonnes VARCHAR par TEXT et activé Barracuda, mais l'erreur a persisté. Le problème a finalement été résolu en définissant innodb_strict_mode=0 pour désactiver le mode strict. Cela a permis à la table d'être créée avec succès malgré le dépassement de la limite maximale de taille de ligne. Il est important de noter que la désactivation du mode strict doit être considérée comme un dernier recours en raison de ses implications potentielles sur l'intégrité des données.
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!