KZ Mai wrote:
I was under the impression that when drupal uses a single shared MySQL connection, using last_insert_id to get the newly created rows in tables may cause problems.
Say in my drupal module, User A tries to create a new row in a table, before my module calls last_insert_id. User B creates a new row in the same table.
Is it possible that urser A gets back the id which is associated with the row User B created?
No. To repeat what I wrote previously in another way: yes, Drupal may use only one connection, but that is one connection PER INSTANCE of the web server (e.g. child processes if you are using Apache on a Unix system). Each instance of the web server will finish the Drupal PHP code it is executing for one HTTP request before it services another. The only way User B can even create a row before User A gets the last ID back is to use a DIFFERENT MySQL connection.