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