# Ror-generated sql syntax fails at 'where'

**URL:** <https://www.ruby-forum.com/t/ror-generated-sql-syntax-fails-at-where/55531>\
**Category:** Rails\
**Created:** [March 21, 2006, 10:57pm UTC](https://www.ruby-forum.com/t/ror-generated-sql-syntax-fails-at-where/55531 "2006-03-21T22:57:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![craigb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@craigb](https://www.ruby-forum.com/u/craigb)\
**Post date:** [March 21, 2006, 10:57pm UTC](https://www.ruby-forum.com/t/ror-generated-sql-syntax-fails-at-where/55531/1 "2006-03-21T22:57:15Z")

</div>

I am working on my first Ruby-on-Rails project after completing  
“cookbook” and “todo list” tutorials.

When "SAVE"ing a new record to a table, the “create” method throws SQL  
error #42000 for:

SELECT \* FROM mailboxes WHERE (key = ‘TEST’) LIMIT 1

but if i change syntax to fully-qualified column, the query tool is  
happy with:

SELECT \* FROM mailboxes WHERE (mailboxes.key = ‘TEST’) LIMIT 1

Unfortunately, as a newbie from the 4GL world, I haven’t a clue how to  
go about tracking the execution thread, and especially don’t know if  
this is a rails scaffold generation problem or if it is me.

Ruby v1.8.2, Rails 1.0.0, MySQL 5.0 all on WinXP(sorry!)-Pro fully  
patched.

Many thanks in advance…

---

<div class="post-metadata">

**Author:** ![craigb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@craigb](https://www.ruby-forum.com/u/craigb)\
**Post date:** [March 21, 2006, 11:12pm UTC](https://www.ruby-forum.com/t/ror-generated-sql-syntax-fails-at-where/55531/2 "2006-03-21T23:12:03Z")

</div>

My guess may be that ‘key’ is a reserved word for whatever database you  
are using. Indeed it is definitely a reserved word in MySQL. You will  
need to rename the column ‘mykey’ or something else instead of ‘key’. I  
have run into this myself and found this out the hard way.

Good luck!

[http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html](http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html)

---

<div class="post-metadata">

**Author:** ![craigb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@craigb](https://www.ruby-forum.com/u/craigb)\
**Post date:** [March 21, 2006, 11:10pm UTC](https://www.ruby-forum.com/t/ror-generated-sql-syntax-fails-at-where/55531/3 "2006-03-21T23:10:41Z")

</div>

‘key’ is a mysql reserved word. Using a different column name would be  
an  
easy fix. And yes, ‘keys’ is also a reserved word.

– Wes

On 3/21/06, craig spengler [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> happy with:  
> Many thanks in advance…
> 
> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

–

```
-- Wes

```

---

<div class="post-metadata">

**Author:** ![craigb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/9f8e36/32.png) [@craigb](https://www.ruby-forum.com/u/craigb)\
**Post date:** [March 21, 2006, 11:16pm UTC](https://www.ruby-forum.com/t/ror-generated-sql-syntax-fails-at-where/55531/4 "2006-03-21T23:16:27Z")

</div>

craig spengler wrote:

> Many thanks in advance…

Thanks, guys, i’ll check it out right away.
