Maison > base de données > tutoriel mysql > Comment résoudre l'erreur MySQL 1118 : « Taille de ligne trop grande » lors de la création de tables avec de nombreuses colonnes ?

Comment résoudre l'erreur MySQL 1118 : « Taille de ligne trop grande » lors de la création de tables avec de nombreuses colonnes ?

Mary-Kate Olsen
Libérer: 2025-01-04 11:31:35
original
280 Les gens l'ont consulté

How to Resolve MySQL Error 1118:

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 :

  1. 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.
  2. 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.
  3. 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!

Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal