Page 1 sur 1
Choix type de champ MSQL
Posté : 26 oct. 2005, 21:29
par bunk
Bonsoir,
J'ai un moment d'hésitation quand au type de certain champ de ma table.
Je souhaite stocké ces informations :
* Adresse IP sous la forme : XXX.XXX.XXX.XXX
* Numéro de téléphone sous la forme : XX.XX.XX.XX.XX
* Timestamp
* Date et Heure
Pour la date et l'heure je pensais a faire 2 champs, un pour la date date("d/m/Y") et pour l'heure date("H\hi") donc respectivement le type DATE et TIME
Pour le timestamp ben en fait je viens de trouver car il existe un type Timestamp donc ca doit être bon
j'en ai d'autre mais la ca ressemble plus a ce que je sais faire.
Pouvez vous me conseiller ou me diriger vers des sites qui arlerais du bon choix ?
D'avance merci
Posté : 26 oct. 2005, 21:51
par albat
pour la date et l'heure, j'utiliserais également un Timestamp.
pour le téléphone, utilise un varchar(10),
car si tu choisis un type numérique, le 0 initial disparaîtra.
Il est vrai que ça prend plus de place en stockage
mais ce n'est pas un champ sur lequel on fait beaucoup de tris,
donc ce n'est pas bien grave.
pour l'adresse IP, je prendrais un varchar(15).
Reste à savoir si tu effectueras des tris sur ce champ...
Posté : 26 oct. 2005, 21:52
par albat
Complément :
De toute façon, si tu tiens absolument à enregistrer dans ta base
les points du téléphone et de l'adresse IP, tu n'as pas le choix.

varchar()
Posté : 26 oct. 2005, 21:58
par bunk
OK merci je vais appronfondir sur le timestamp, pour les point je pense les stocker mais ce n'est pas encore défini
Merci
Posté : 26 oct. 2005, 22:06
par albat
Si tu as des tris à effectuer ou un réel besoin d'optimisation à l'octet près,
tu peux aussi décomposer tes adresses IP en quatre fragments
et les enregistrer dans 4 champs (ip1, ip2, ip3 et ip4),
tous déclarés en TINYINT UNSIGNED.
http://dev.mysql.com/doc/refman/5.0/fr/ ... rview.html
Ce sera extrêmement optimisé et facilement manipulable,
mais c'est quand même un peu vicieux...

Posté : 26 oct. 2005, 22:08
par pjl
pour la date et l'heure, si les 2 sont liés, le format datetime me parait plus adapté.
pour le format timestamp de mysql, sa gestion est particulière. Il vaut mieux lire attentivement la doc avant de le mettre ne place.
http://www.nexen.net/docs/mysql/annotee ... =timestamp
pour l'IP, plutôt un char(15) qu'un varchar.
pour le tel, même analyse qu'albat, stockage sous forme de chaine de caractères. un char ou un varchar selon l'orientation voulue : tel français ou tel au format international.
Posté : 26 oct. 2005, 22:17
par albat
pour la date et l'heure, si les 2 sont liés, le format datetime me parait plus adapté.
pour le format timestamp de mysql, sa gestion est particulière.
Au temps pour moi !
J'ai effectivement embrayé sur l'idée de Timestamp en pensant à un Datetime.

Merci,
Pjl, d'avoir rectifié.
J'ai les neurones en vrac, moi, ce soir...