How Can I Get the Unique ID for the Last Inserted Row

24.1.4.3 How Can I Get the Unique ID for the Last Inserted
Row?

/*********** the following is from manual of MySQL ************/
If you insert a record in a table containing a column that has the AUTO_INCREMENT attribute,
you can get the most recently generated ID by calling the mysql_insert_id() function.
You can also retrieve the ID by using the LAST_INSERT_ID() function in a query string
that you pass to mysql_query().
You can check if an AUTO_INCREMENT index is used by executing the following code. This
also checks if the query was an INSERT with an AUTO_INCREMENT index:

if (mysql_error(&mysql)[0] == 0 &&
mysql_num_fields(result) == 0 &&
mysql_insert_id(&mysql) != 0)
{
used_id = mysql_insert_id(&mysql);
}



The most recently generated ID is maintained in the server on a per-connection basis. It
will not be changed by another client. It will not even be changed if you update another
AUTO_INCREMENT column with a non-magic value (that is, a value that is not NULL and not
0).
If you want to use the ID that was generated for one table and insert it into a second table,
you can use SQL statements like this:

INSERT INTO foo (auto,text)
VALUES(NULL,’text’);            # generate ID by inserting NULL
INSERT INTO foo2 (id,text)
VALUES(LAST_INSERT_ID(),’text’);      # use ID in second table
posted @ 2012-01-02 12:22  邓维  阅读(321)  评论(0编辑  收藏  举报