Hi Chris,

On Sat, Jun 08, 2002 at 11:44:43AM +0200, Chris Knipe wrote:
> Not to long ago, I had a query regarding the best way to store IP addresses
> in a DB, and make sure that they are unique.
> 
> It was pointed out to me that I could use four smallint columns instead of a
> varchar to store these numbers,

Why not use unsigned tinyint? This allows values 0..255 and is exactly what
you need. A smallint allows -32768..32767 and use two bytes i.s.o. one. See
http://www.mysql.com/doc/C/o/Column_types.html for more info on column types.

By the way, I just use unsigned int for my IP adresses, and INET_NTOA for
text representation.


>                                 and just implement a UNIQUE index across all
> four columns to make sure the combination of the four columns, would never
> be in duplicate.
> 

Seems ok.


> It seems, the UNIQUE index however still insist on having unique values for
> all of the four columns...
> 
> MySQL said:
> Duplicate entry '127-30-127-1' for key 2
> 

Did you check with a SELECT if there really is a duplicate 127.30.127.1 ?


Regards,

Fred.

-- 
Fred van Engen                              XO Communications B.V.
email: [EMAIL PROTECTED]             Televisieweg 2
tel: +31 36 5462400                         1322 AC  Almere
fax: +31 36 5462424                         The Netherlands

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to