nachumk Posted October 24, 2009 Share Posted October 24, 2009 I am trying to add a new user to my database. I check the users table to find last id used and i increment it by one. I then add that user to the users table. I have to add that user to a second table too.I figure that I need to use a PHP semaphore or some synchronization object to make sure that I don't get a race condition during these 3 steps (if another user is signing up at the same time). Is there a better way to do this?How can I protect the db if the system dies between updating the users table and updating the second table? I am using mysql with innodb. What if the first or second update fails? Should I be using transactions / rollbacks?Thank you, Link to comment Share on other sites More sharing options...
Synook Posted October 24, 2009 Share Posted October 24, 2009 Why not just use an AUTO_INCREMENT field for the ids? If you're really paranoid you can use a transaction for the two queries, but servers don't fail as often as you seem to think. Link to comment Share on other sites More sharing options...
nachumk Posted October 24, 2009 Author Share Posted October 24, 2009 And this is why I ask ... AUTO_INCREMENT is perfect for what I need.Then I will use transactions to accomplish the atomic inserts.I don't assume systems will crash often, but I am learning and this is how I learn. I ask the difficult questions to get an in depth understanding. I also like to design when possible with all scenarios in mind. I would hope that everyone programs this way.Thanx Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.