2009-11-23 3 views
16

Je suis entré dans phpMyAdmin et j'ai changé la valeur d'un champ entier (15) en un nombre à 10 chiffres, donc tout devrait bien fonctionner. Je suis entré dans la valeur « 4085628851 » et je reçois l'erreur suivante:Comment corriger l'erreur "Valeur hors plage ajustée pour la colonne"?

Warning: #1264 Out of range value adjusted for column 'phone' at row 1

Il change la valeur de « 2147483647 ». Après quelques recherches sur Google, j'ai trouvé cet article qui explique comment résoudre le problème. http://webomania.wordpress.com/2006/10/01/out-of-range-value-adjusted-for-column-error/, mais je ne sais pas comment me connecter au shell Mysql.

Comment se connecter au shell Mysql? Comment réparer cette erreur?

+8

L'utilisation d'un type numérique pour un numéro de téléphone est une mauvaise idée. – ThiefMaster

Répondre

9

Je viens de modifier le type de champ à BIGINT, et qui a résolu le problème. Je suppose que je ne peux pas entrer une valeur supérieure à 2147483647 pour un INT, donc je suppose que tout le monde qui utilise un champ pour entrer un numéro de téléphone à 10 chiffres utilise un BIGINT?

8

La meilleure option pour stocker un nombre entier supérieur à 2147483647 consisterait à définir le type de champ sur BIGINT.

S'il s'agit de stocker un numéro de téléphone, il est préférable de stocker la valeur sous forme de champ de texte.

0

vous pouvez essayer de ne pas donner la valeur qui commence par '0 '. Si vous voulez commencer les valeurs par zéro, utilisez le type de données varchar