Maison >base de données >tutoriel mysql >Comment résoudre le code d'erreur MySQL 1118 : taille de ligne trop grande ?

Comment résoudre le code d'erreur MySQL 1118 : taille de ligne trop grande ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-05 01:09:08701parcourir

How to Resolve MySQL Error Code 1118: Row Size Too Large?

Traitement du code d'erreur 1118 : la taille de la ligne dépasse la limite dans MySQL

La rencontre du code d'erreur 1118 dans MySQL indique que la taille d'une ligne dépasse la limite autorisée de 8 126 octets. Ce problème survient généralement lors de la création de tableaux étendus comportant de nombreuses colonnes.

Pour résoudre cette erreur, envisagez de mettre en œuvre les solutions suivantes :

Optimiser les types de colonnes :

Dans votre schéma, vous avez déclaré certaines colonnes comme CHAR(1), ce qui implique une limite de caractères d'un seul caractère. Les remplacer par des colonnes TEXT ou BLOB augmenterait considérablement leur capacité. De plus, évitez d'utiliser des colonnes LONGUES.

Activer le format de fichier Barracuda :

Le format de fichier Barracuda de MySQL améliore les performances et permet des tailles de lignes plus grandes. Pour l'activer, ajoutez les attributs suivants à votre fichier de configuration MySQL (my.ini) :

innodb_file_per_table=1
innodb_file_format=Barracuda
innodb_file_format_check = ON

Ajustez innodb_strict_mode :

Si les mesures précédentes ne donnent aucun résultat , essayez de modifier le paramètre innodb_strict_mode sur 0. Ce paramètre assouplit la vérification de la taille des lignes et permet d'insérer des enregistrements même si leur taille dépasse la taille spécifiée. limit :

innodb_strict_mode             = 0

Comme vous l'avez mentionné dans votre requête, notez que vous ne pouvez pas modifier la structure de la table en raison de restrictions héritées. Par conséquent, explorez les solutions ci-dessus et identifiez l’approche la plus adaptée à votre application spécifique.

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