On Nov 15, 2006, at 9:58 PM, simonbun wrote:
>
> The problem with getting the last record's id and using it, is that
> someone might have inserted yet another record while you're still
> working on the previous one.
>
> For single user scenario's it's ok, or if you're using table level
> write locking. Yet afaik, its generally a bad idea.



Not sure how it works in MySQL, but in Postgres, getting the last  
inserted id is unique to the current user's (database) session. So if  
a user inserts a record into the table, then queries the sequence for  
that id, the value will always be the same, regardless if other table  
insertions have been done by other users since the first insertion.  
So the last inserted id should be thought of as the id inserted by  
this user, not the maximum id inserted by any user.

The easiest way to get the last inserted id is to create an object,  
save it, then read its id directly. If you need the maximum inserted  
id, use select max(id) from table.

Don




--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to