List:General Discussion« Previous MessageNext Message »
From:Mark Maunder Date:December 3 2004 8:30pm
Subject:Re: if last binary byte is space (ascii 32) mysql drops it
View as plain text  
Thing is I don't want a dynamic table for performance reasons. I'm
storing an MD5 hash which is 16 bytes. As a workaround I'm only using 8
bytes of the hash and storing it in a bigint(20) column for now. So I
guess eighteen quintillion, four hundred forty six quadrillion, seven
hundred forty four trillion, seventy three billion, seven hundred nine
million, five hundred fifty two thousand possible combinations will have
to be unique enough for now. 

This turned out to be a very hard to debug little issue for me. Perhaps
others will be more lucky. I'd like to see it fixed asap. 

On Fri, 2004-12-03 at 12:10, Dan Nelson wrote:
> In the last episode (Dec 03), Mark Maunder said:
> > This all started when one of the 16 byte binary primary keys kicked out
> > a duplicate key error. It seems mysql does not store the last byte of
> > the binary value if it is a space. That is, ascii 32 or hex 20. 
> > 
> > How do I force it to store the space? Thanks!
> > 
> > create table testtable ( id binary(16) NOT NULL PRIMARY KEY ) ENGINE=MyISAM;
> 
> There is no native mysql BINARY type; it's mapped to CHAR(n) BINARY.
> CHARS and VARCHARS trim trailing blanks (A known issue, but low
> priority I think).  Try using a TINYBLOB column type instead.
-- 
Mark D. Maunder <mark@stripped>
http://www.workzoo.com/
"The Best jobs from the Best Job Sites."

Thread
if last binary byte is space (ascii 32) mysql drops itMark Maunder3 Dec
  • Re: if last binary byte is space (ascii 32) mysql drops itDan Nelson3 Dec
    • Re: if last binary byte is space (ascii 32) mysql drops itMark Maunder3 Dec
    • Re: if last binary byte is space (ascii 32) mysql drops itPaul DuBois3 Dec
      • Re: if last binary byte is space (ascii 32) mysql drops itMark Maunder3 Dec
Re: if last binary byte is space (ascii 32) mysql drops itHeikki Tuuri3 Dec