List:General Discussion« Previous MessageNext Message »
From:Urvashi Pathak Date:April 4 2013 4:52pm
Subject:RE: Update and lock question.
View as plain text  

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.criptos@stripped] 
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.
Thread
Update and lock question.Andrés Tello4 Apr
  • RE: Update and lock question.Urvashi Pathak4 Apr
    • Re: Update and lock question.Andrés Tello5 Apr
      • RE: Update and lock question.Rick James9 Apr