To some extent, yes.

When it comes to InnoDB, you can choose what rows can get locked. It is not so much a particular setting for the DB Connection. It is a specific query you have to call before doing UPDATEs.

- `SELECT ... FOR UPDATE`
- `SELECT ... LOCK IN SHARE MODE`

This can initiate exclusive or shared row locks based on the result set of those SELECTs.

You can find more on this in the [**MySQL Documentation**][1].

I wrote easrlier posts on using these:

- `Aug 08, 2011` : http://dba.stackexchange.com/questions/4469/are-innodb-deadlocks-exclusive-to-insert-update-delete/4470#4470
- `Jan 02, 2012` : http://dba.stackexchange.com/questions/10010/lock-in-share-mode/10017#10017
- `Mar 18, 2012` : http://dba.stackexchange.com/questions/15208/select-for-update-gives-error-on-indexed-column/15219#15219
- `May 09, 2012` : http://dba.stackexchange.com/questions/17561/transaction-lock-timeouts-when-updating-a-row/17649#17649
- `May 13, 2012` : http://dba.stackexchange.com/questions/17788/cannot-update-certain-rows-in-innodb-tables/17795#17795
- `Aug 10, 2012` ; http://dba.stackexchange.com/questions/22286/similar-function-nowait-in-mysql/22296#22296

With regard to sessions and connections

- Performing `SELECT ... FOR UPDATE` will initiate locks on rows you intend to update and still permit other DB Connections to read.
- Performing `SELECT ... LOCK IN SHARE MODE` essentially does the reverse
 - lock rows for you to read
 - allow SELECTs of the same locked rows
 - prevent connections from doing `SELECT ... FOR UPDATE` or direct DML

The only advantage I see in using these `SELECT` queries is too prevent needless deadlocks on pages.


I hope this helps !!!

  [1]: http://dev.mysql.com/doc/refman/5.5/en/innodb-locking-reads.html