VARCHAR becomes BINARY

Hello all,

I have a strange one here but there’s probably a very simple solution
(though I’ve been unable to google it).

I have a varchar(100) column called name (t.string :name, :limit => 100,
:null => false).

I have a …
validates_uniqueness_of :name,
:scope => :event_group_id,
:case_sensitve => false

which is producing the following SQL …
SELECT event_categories.id FROM event_categories WHERE
(event_categories.name = BINARY ‘road’ AND
event_categories.event_group_id = 790727023) LIMIT 1;

Note the BINARY in the query. How could this happen?

I have other requests to that table (JQuery autocomplete, for example)
and
it doesn’t introduce the BINARY.

I am running MySQL version 5.1.49-1ubuntu8.1
Rails 2.3.8

Any pointers would be great

TIA

-ants

On Jan 21, 2011, at 2:56 PM, Ants P. wrote:

:scope => :event_group_id,

example) and it doesn’t introduce the BINARY.

I am running MySQL version 5.1.49-1ubuntu8.1
Rails 2.3.8

Any pointers would be great

TIA

-ants

Since, by default, MySQL is case-insensitive, that is the way that a
case-SENSITIVE comparison is made. Does it make a difference if you
take the “:case_sensitive => false” off of the validation?

-Rob

Rob B.
[email protected] http://AgileConsultingLLC.com/
[email protected] http://GaslightSoftware.com/

On 21 January 2011 21:41, Rob B. [email protected]
wrote:

I have a …

-ants
[email protected] [email protected]
http://groups.google.com/group/rubyonrails-talk?hl=en.

No. In fact, I only added the case_sensitive flag to see if made a
difference.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs