Here is an insert from the innodb reference manual

Suppose you use a consistent read to read the table PARENT and indeed see
the parent of the child in the table. Can you now safely add the child row
to table CHILD? No, because it may happen that meanwhile some other user has
deleted the parent row from the table PARENT, and you are not aware of that.

The solution is to perform the SELECT in a locking mode, LOCK IN SHARE MODE.

SELECT * FROM PARENT WHERE NAME = 'Jones' LOCK IN SHARE MODE;

Performing a read in share mode means that we read the latest available
data, and set a shared mode lock on the rows we read. If the latest data
belongs to a yet uncommitted transaction of another user, we will wait until
that transaction commits. A shared mode lock prevents others from updating
or deleting the row we have read. After we see that the above query returns
the parent 'Jones', we can safely add his child to table CHILD, and commit
our transaction. This example shows how to implement referential integrity
in your application code.



This means that if we update a record and have not committed it and another
user uses the above select statement, it will wait until the first update
statement is committed before reading????



Thanks


Randy










---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to