Training, Open Source
computer languages


PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 

Search our site for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact
Multiple users and data integrity

Posted by Helenb (Helenb), 4 May 2005
I have 2 tables with linked data in a multi-user environment, using the autonumber key from one table as a link. I can write data to one table, use mysql_insert_id to get the ID number, and use this in the next table, but how do I protect against 2 users entering data at the same time?

Posted by admin (Graham Ellis), 4 May 2005
If you're updating rows in two tables at the same time as part of one "transaction", you'll want to use locking (see commands like LOCK TABLES).  

I know a little about your application, Helen, so I know that the coarseness of table level locking shouldn't cause a problem in your case.   But you might like to be aware that a select that you limit to the first 10 records of a result set, followed by another that returns the second 10 records of a result set, may give duplicated records at the boundary if you've inserted an extra record in the meantime

Posted by Helenb (Helenb), 4 May 2005
I did look at table locking, but it seemed a very blunt instrument, and i wondered if there was anything better. However, I suppose the logic of the  insert_id means it would have to be table-level.



This page is a thread posted to the opentalk forum at www.opentalk.org.uk and archived here for reference. To jump to the archive index please follow this link.


WELL HOUSE CONSULTANTS LTD.: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 707126 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho