Maison >base de données >tutoriel mysql >Comment résoudre le code d'erreur MySQL 1118 : taille de ligne trop grande ?
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!