# Why is Rails making 2 SELECT queries when updating user info

**URL:** <https://www.ruby-forum.com/t/why-is-rails-making-2-select-queries-when-updating-user-info/135885>\
**Category:** Rails\
**Created:** [April 25, 2008, 9:48pm UTC](https://www.ruby-forum.com/t/why-is-rails-making-2-select-queries-when-updating-user-info/135885 "2008-04-25T21:48:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [April 25, 2008, 9:48pm UTC](https://www.ruby-forum.com/t/why-is-rails-making-2-select-queries-when-updating-user-info/135885/1 "2008-04-25T21:48:00Z")

</div>

Hi,

My User model has been generated using the restful\_authentication  
generator. When I submit data to the update action of the  
users\_controllers, I see that Rails makes the following queries which  
are unnecessary:

BEGIN  
SELECT \* FROM `users` WHERE (LOWER(users.login) = ‘fernando’ AND  
users.id \<\> 2) LIMIT 1  
SELECT \* FROM `users` WHERE (LOWER(users.email) = ‘fernando’ AND  
users.id \<\> 2) LIMIT 1  
UPDATE ‘users’ …  
COMMIT

Is there something I have made that creates these two SELECT queries? I  
really don’t understand where it is coming from.

---

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [April 25, 2008, 10:07pm UTC](https://www.ruby-forum.com/t/why-is-rails-making-2-select-queries-when-updating-user-info/135885/2 "2008-04-25T22:07:46Z")

</div>

On 25 Apr 2008, at 20:48, Fernando P. wrote:

> users.id \<\> 2) LIMIT 1  
> SELECT \* FROM `users` WHERE (LOWER(users.email) = ‘fernando’ AND  
> users.id \<\> 2) LIMIT 1  
> UPDATE ‘users’ …  
> COMMIT

Have you got some validations that might cause this ?(in particular  
validates\_uniqueness\_of)

Fred

---

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [April 25, 2008, 10:09pm UTC](https://www.ruby-forum.com/t/why-is-rails-making-2-select-queries-when-updating-user-info/135885/3 "2008-04-25T22:09:41Z")

</div>

That’s exactly the case!

I tested by removing the validation, and the 2 SELECT didn’t happen.  
Thank your very much for your assitance.
