I'm new to MySQL so can't answer the OP's question, but:
MAC addresses do not by design contain letters. Native MAC addresses are 48-bit (6-byte) integers: http://standards.ieee.org/getieee802/download/802-2001.pdf The confusion arises because a MAC address is usually /represented/ as hexadecimal, and that might contain letters, but MAC addresses natively are pure 6-byte integers. So the issue is whether you want to index by a 48-bit number or a 12-character ascii string. For efficiency's sake, I'm guessing you'd choose the former. I'll be interested in the answer, though, from someone with experience. -- Pete Wilson http://www.pwilson.net/ --- On Thu, 5/14/09, Jim Lyons <jlyons4...@gmail.com> wrote: > From: Jim Lyons <jlyons4...@gmail.com> > Subject: Re: MAC address as primary key - BIGINT or CHAR(12) > To: "Ilia KATZ" <ik...@dane-elec.co.il> > Cc: mysql@lists.mysql.com > Date: Thursday, May 14, 2009, 11:38 AM > Definitely CHAR (or VARCHAR). > > If the format of a MAC address changes at all, you could be > in real > trouble. Also, if a MAC address can have a leading 0 > (I don't know anything > about MAC addresses), then storing it as some sort of > number could lose > that. > > This is a general rule for me. A field might only > contain numbers (at one > particular point in time) but if those numbers are > really nominal data (in > which the size or order does not matter) then they should > be CHAR or VARCHAR > fields anyway. > > On Thu, May 14, 2009 at 8:26 AM, Ilia KATZ <ik...@dane-elec.co.il> > wrote: > > > Hi. > > Currently I have a table: > > 1. MAC address defined as BIGINT > > 2. MAC address set as primary key > > > > Should I consider changing it to CHAR(12)? > > > > Replies will be appreciated. > > Ilia > > > > > > > > > > > -- > Jim Lyons > Web developer / Database administrator > http://www.weblyons.com > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=arch...@jab.org