CodeIgniter Forums

Full Version: Question about ActiveRecords - mysql_insert_id()
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

El Forum

In a multi-user environment, if we use $this->db->insert_id() (CodeIgniter ActiveRecord) to retrieve the id value of last inserted row, is there a chance of getting an ID of a different db session?

According to the MySQL spec, they say;

"The value of mysql_insert_id() is affected only by statements issued within the current client connection. It is not affected by statements issued by other clients."

So, is it same with the CodeIgniter's ActiveRecord $this->db->insert_id() ?

Is there a chance of 2 or more users who are inserting records to the same table, would get wrong last insert id's?

Does CodeIgniter Active Records maintain unique db sessions for its concurrent users?

El Forum

Yes this is the same because CodeIgniter uses the mysql functions in the background.
Besides, the Mysql server will not give you an id that was inserted for another connection than your own.
So you can safely use this. It will never give you 'some one else's' id.

El Forum

Thank you for the reply!