Hi Andrés,

Select for update makes sure that no other process can change the data between 
you selected it for update and then actually changed it and commit it.
If you do not use "select for update"  then it is possible that some other 
process can change the data  in the mean time between you selected and  
actually changes it. In this case you not see the result you actually intend to 
have.

Innodb will only lock whole table only if there is no where clause in the 
update statement, which I sure you do not have. Innodb follows row level 
locking.


-Urvi

-----Original Message-----
From: Andrés Tello [mailto:mr.crip...@gmail.com] 
Sent: Thursday, April 04, 2013 9:08 AM
To: mysql
Subject: Update and lock question.

I'm doing some tests, but have a questions about locking.

In a innodb table, if you issue an select for update lock for a row, 
supposedly, it only locks that row, but if you don't issue a select for update, 
and trow the update... does it locks the hole table?

The update goes over an indexed field, or the effect of locking the hole table 
is due I'm updating an indexed field?

This is because I'm running into dead locks, but I know there is no select for 
update to the row being updated.


Thanks.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Reply via email to