Choix type de champ MSQL

Eléphant du PHP | 291 Messages

26 oct. 2005, 21:29

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

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 oct. 2005, 21:51

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...

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 oct. 2005, 21:52

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.
:arrow: varchar()

Eléphant du PHP | 291 Messages

26 oct. 2005, 21:58

OK merci je vais appronfondir sur le timestamp, pour les point je pense les stocker mais ce n'est pas encore défini

Merci

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 oct. 2005, 22:06

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... :langue:

ViPHP
pjl
ViPHP | 2119 Messages

26 oct. 2005, 22:08

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.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 oct. 2005, 22:17

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. :oops:
Merci, Pjl, d'avoir rectifié. ;)

J'ai les neurones en vrac, moi, ce soir...