2010-01-20 12 views

Répondre

4

Augmenter devrait typiquement pas causer des problèmes, c'est le décroissant qui peut causer des problèmes.

+1

En disant typiquement, vous voulez dire qu'il y a des situations où il pourrait y avoir des problèmes? Des situations comme quoi? – Robin

+3

Eh bien, cela peut dépendre de ce que vous faites avec cette colonne. Par exemple, le client ou une procédure stockée peut essayer de le stocker dans une autre colonne d'une autre table qui devient soudainement trop petite. De telles dépendances sont parfois difficiles à trouver. – Joey

+1

Selon la version de MySql et Collation, la version peut contenir des bogues. En outre, je ne sais pas comment cela pourrait affecter la pagination des données stockées ou l'indexation, et les références à cette colonne de SP, etc. –

-2

Si vous avez défini la longueur de 40, mais si vous essayez d'insérer plus de caractères, tous seront rejetés, ce qui entraînera une valeur de champ vide. Vous devez indiquer la valeur de longueur supérieure que vous devez entrer pour ce champ.

+2

Comment cette réponse se rapporte à la question? Sauf pour utiliser certains des mêmes termes. – Joey

+0

Sarfraz Ahmed: Vous avez probablement mal compris ma question. J'ai déjà un champ d'une longueur de 40, mais ce n'est pas assez d'espace, donc je veux l'augmenter. Y a-t-il des conséquences possibles d'augmenter la longueur. – Robin

+0

Pour autant que je sache, cela n'est pas non plus techniquement vrai, à partir de mysql 5, car il tronque les caractères en excès au lieu de tout rejeter. – Kzqai

3

La modification de la taille déclarée d'un champ varchar ne devrait pas nécessiter la modification des données existantes.

Notez que la modification de la taille du champ char ou numéro obligera MySQL à mettre à jour chaque valeur affectée au nouveau type. La modification de ces champs ou l'ajout de colonnes peut obliger le SGBD à réécrire la totalité de la table afin de s'adapter à une taille de ligne plus grande selon qu'il y a un espace redondant au niveau de la ligne. Cela peut prendre du temps sur une grande table.

Assurez-vous de mettre à jour toutes les autres tables qui se joignent à cette colonne aussi!

HTH

C.