dptr1988 Posted July 13, 2006 Share Posted July 13, 2006 I'm working on a script that reads numbers out of a row in the table, adds/subtracts the numbers, then updates the row in the table. I was wondering if another script reads the same row before the first script updates that row and then updates that row before or after the first after the first script updats the row, if the row would be incorrect. I don't think that is easy to understand so let me try again with a scenario with exagerated timing. Script 1 and Script 2 take all of the columns in row1 and add 1 to each column then update row1 with the new columnsHere is the table for the example:[tt] num1 num2 num3-------------------row1 1 1 1This is the sequence of scenario:Seconds Action------------------------------------------------00 Script 1 reads all of the columns in row 101 Script 2 reads all of the columns in row 102 Script 1 is done processing and updates row1 with these values 2,2,203 Script 2 is done processing and updates row1 with these values 2,2,2[/tt]Is it possible for this scenario to happen? If it does happen, Would the value of row1 be 2,2,2 instead of 3,3,3 like I was wanting?I haven't had trouble like this yet, but was worried that I might cause trouble.Thanks Quote Link to comment Share on other sites More sharing options...
effigy Posted July 13, 2006 Share Posted July 13, 2006 Look into transactions; [url=http://www.devarticles.com/c/a/MySQL/Using-Transactions-with-MySQL-4.0-and-PHP/]example[/url]. Quote Link to comment Share on other sites More sharing options...
fenway Posted July 13, 2006 Share Posted July 13, 2006 This can be a problem without transactions / table locks; you won't get a consistent read otherwise, and you may get some inconsistencies. There are some operations that are atomic, but most aren't. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.