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

Reply via email to