2013-03-10 2 views
-2

J'ai atteint la limite définie sur la taille de la ligne d'une table, donc je ne suis pas en mesure d'ajouter plus de colonnes à la table.nombre maximal de colonnes dans une erreur de table mysql

Je reçois l'erreur suivante:

.#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

J'ai fait des recherches sur cette question le MySQL website, mais je ne suis toujours pas sûr de la façon de résoudre ce problème.

Est-ce que quelqu'un sait comment je peux résoudre ce problème, et quel paramètre ou script que je devrais exécuter pour modifier le paramètre afin qu'il me permette d'ajouter plus de colonnes à la table?

+0

Tu es l'homme! C'est vraiment impressionnant. – a1ex07

Répondre

3

Pourquoi la taille de votre ligne 64k commence-t-elle? C'est ton problème. Pas le réglage étant trop bas.

De:

http://dev.mysql.com/doc/refman/5.0/en/column-count-limit.html

Each table has an .frm file that contains the table definition. The server uses the following expression to check some of the table information stored in the file against an upper limit of 64KB:

> if (info_length+(ulong) create_fields.elements*FCOMP+288+ 
>  n_length+int_length+com_length > 65535L || int_count > 255) 

Il est donc pas quelque chose probable que vous pouvez facilement changer (à court de modifier le code source et l'exécution d'un MySQL personnalisé Donnez-nous votre schéma et nous pourrions être. en mesure de mieux conseiller, mais la réponse courte semble être que vous avez trop de colonnes, ou que vous avez besoin de changer certains VARCHARs etc pour être texte/blob

Sans voir l'abomination probable d'un schéma, c'est difficile à conseiller.

+0

+1 pour explication. Cependant, je ne suis pas d'accord avec le mot «probable» et «schéma» dans votre dernière phrase. J'avais l'habitude de penser qu'ayant plus de 10-20 colonnes est habituellement une rupture de l'un ou l'autre problème normal de forme ou de conception (même sans regarder dans des détails). Mais atteindre les limites du nombre de champ ... C'est au-delà de ma compréhension. – a1ex07

+0

J'ai été en mesure de résoudre le problème en mettant à jour certaines colonnes de varchar vers le texte. – Dani

Questions connexes