Maison > base de données > tutoriel mysql > Comment résoudre l'erreur MySQL 1118 : « Taille de ligne trop grande » ?

Comment résoudre l'erreur MySQL 1118 : « Taille de ligne trop grande » ?

Barbara Streisand
Libérer: 2025-01-01 08:42:13
original
373 Les gens l'ont consulté

How to Solve MySQL Error 1118:

Erreur de taille de ligne MySQL trop grande : résolution du code 1118

Lors de la création d'une table MySQL avec un grand nombre de colonnes, vous pourriez rencontrer le code d'erreur 1118 : "Taille de ligne trop grande." Cette erreur indique que la taille combinée des colonnes dépasse une limitation imposée par le format de ligne par défaut.

Comprendre la limite de taille de ligne

Dans MySQL, la limite de taille de ligne varie en fonction du format de ligne. Le format de ligne par défaut, Compact, a une limite de taille de 8 126 octets. D'autres formats de lignes, tels que Compressé et Dynamique, offrent des limites plus grandes.

Optimisation des types de colonnes

Pour résoudre l'erreur 1118, pensez à optimiser les types de données de vos colonnes. Par exemple, le remplacement des colonnes VARCHAR par TEXT peut réduire considérablement la taille des lignes. En outre, envisagez d'utiliser les types BLOB ou LONG pour les valeurs de données volumineuses.

Activation du format de fichier Barracuda

MySQL 5.7 a introduit le format de fichier Barracuda, qui offre des performances et une flexibilité améliorées. L'activation de Barracuda peut atténuer le problème de taille des lignes en permettant un stockage de lignes plus important. Pour activer Barracuda, ajoutez les attributs suivants à votre fichier my.ini :

innodb_file_per_table=1
innodb_file_format=Barracuda
innodb_file_format_check = ON
Copier après la connexion

Désactivation du mode strict

En dernier recours, vous pouvez essayer de désactiver le mode strict pour MySQL. Cependant, cela peut vous exposer à d’éventuels problèmes de corruption de données. Pour désactiver le mode strict, ajoutez l'attribut suivant à votre fichier my.ini :

innodb_strict_mode = 0
Copier après la connexion

Cela permettra à MySQL d'ignorer la vérification de la taille d'enregistrement et vous permettra de créer des tables avec des lignes plus grandes.

Remarque : La modification des paramètres du serveur tels que innodb_strict_mode doit être effectuée avec prudence et seulement après avoir examiné les risques et les implications potentiels pour vos 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