As pointed out on a busy site some of the above methods might actually give you an incorrect answer as another record is inserted inbetween your insert and the select. To combat this put it into a transaction and dont commit till you have done all the work