[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: type d'un champ mysql



Le mardi 13 janvier 2009, antoine@starinux.org a écrit :
> Le lundi 12 janvier 2009 23:21, vous avez écrit :
> > > Il s'agit d'adresses IP (IPV4) enregistrées avec les points :
> > > A.B.C.D
>
> ----------------------------
>
> > Drôle d'idée d'utiliser la forme texte, d'autant plus qu'elle est mal
> > normalisée en IPv4 (A.B.C.D n'est pas la seule notation
> > possible). Pourquoi ne pas plutôt stocker la forme binaire, qui permet
> > des comparaisons et du masquage ?
>
> ---------------
>
> > "plutôt stocker la forme binaire" :
>
> Merci alors de me donner le type de ce format :
> int, bigint, bool, char ... ?
>
> antoine

Bonjour,
ben en ipv4, c'est une donnée de 4 octets, et en ipv6, de 16.
pour éviter les recherches fastidieuses sur une partie de cette donnée de 4 
octets, il me parait plus simple que chaque octet soit un champs séparé (pour 
faire des recherches genre
SELECT ip3 FROM toto WHERE ip0="192" AND ip1="168" AND ip2="0";
pour récupèrer les machine d'un réseau de classe A, par exemple,
ou pour recomposer facilement la dénomination ARPA de l'adress d'une machine 
ou d'un réseau, 0.168.192.IN-ADDR.DARPA )

Ca donnerait donc pour moi 4 champs individuels d'un octet (type CHAR) en ipv4 
et 16 en ipv6.

Enfin je prendrais plutot pgsql pour ses fonctionnalités IP, si j'avais le 
choix.

++, MATT


Reply to: