8768 sujets

Développement web côté serveur, CMS

Bonjour
Je voudrais stocker un numero de tel dans une table mysql
mais quel type choisir j'ai consulté plusieurs forums et tuto
j'ai obtenus des reponses differentes (INT, CHAR, VARCHAR , TEXT )
et aussi une option ZEROFILL que je ne connaissais pas

Merci de me conseiller

a+
Int sûrement pas, même en 64 bits: tu vas perdre les 0 de début et suivant la notation que tu adoptes il y a des +.
Perso je vote varchar.
grisbi21 a écrit :
et aussi une option ZEROFILL que je ne connaissais pas

ZEROFILL est un attribut souvent méconnu, mais qui a ses contraintes : cet attribut autocomplète l'espace inutilisé par des zéros. Donc, un INT(10) complété avec la valeur "477665544" sera en fait enregistré comme "0477665544".

Évidement, ceci n'est utilisable en l'état que pour des numéros où l'on est sûr qu'ils aient 10 chiffres, ce qui écarte les numéros spéciaux ou étranger, il faut donc est sûr de son truc. Pareil pour les codes postaux en INT(5) ZEROFILL : il faut être sûr de n'enregistrer que des utilisateurs français et non des codes postaux étrangers qui peuvent être préfixés par des lettres et comporter plus de caractères.

Du coup, pour le téléphone, j'utilise pour l'instant un VARCHAR(32)...

PS : ce questionnement sur les colonnes MySQL m'intéresse de manière large car je viens d'entamer une recherche sur les BDD que depuis très récemment, alors - en cas de besoin - n'hésitez pas à poser vos questions (structure d'une table, etc). Elle m'aiderons à me positionner moi-même.
J'ajouterais d'une manière plus générale que lorsqu'on n'effectue jamais de calculs sur des données numériques, on utilise un type alphanumérique (dans ce cas un varchar correspond parfaitement).