I am trying to get transaction processing & row locking working with MySQL.
I have copied the my-medium.cnf sample file to my.ini, uncommented all the innodb related lines and set the directories appropriately and created the directories. MySQL has created the tablespace and log files in those directories. In short, innodb is up and running.
But...when I open two client sessions simultaneously, no matter what combinatation of locks, "autocommit", "begin work" I use, the sessions do not recognise the locks/transactions of the other.
Example
Client A> set autocommit=0;
Client A> begin work;
Client A> select * from table;
Client B> set autocommit=0;
Client B> begin work;
Client B> select * from table;
Client A> Update table....;
Client B> select * from table;
in this last select, I expect client B to see the same result as the first time they ran the query, because client A has not committed... but in reality, I see client A's updates. Similarly, locks that client A places are not recognised by client B.
All the articles I have read indicate that client B should not see A's updates, and they don't mention any special config seetings I need to add. I did see a "SkipLocks" value (or something like that) in the cnf file, so removed that. No effect.
Help please!!![]()





. Now my testing shows that whole tables are being locked when I thought I was only locking rows.

Bookmarks