I am trying to work out the best way to stop double booking in my application.
I have a table of unique id s each can be sold only once.
My current idea is to use a transaction to check if the chosen products are available, if they are then insert into a status column that it is reserved along with inserting a time of update then if the user goes on to pay I update the status to sold .
Every 10 mins I have a cron job check for status = reserved that was updated more than 10 mins ago and delete such rows.
Is there a better way? I have never used transactions (I have just heard the word banded around) so if someone could explain how I would do this that would be ace.