Question: I am using auto increment value for the inserts in my table. But is there any other way to generate a unique value (which is small enough and not GUID or UUID) in php to insert as primary key in mysql?

Basically I want to get the value that is used as PK, but using auto increment I guess I cannot get the next auto increment value?

Please suggest me something on this?

Thanks.

Answer: 
You can get the last inserted autoincrement value. You want the [mysql\_insert\_id](http://php.net/manual/en/function.mysql-insert-id.php) function:

```
<?php
    mysql_query("INSERT INTO mytable (product) values ('blah')");
    printf("Last inserted record has id %d\n", mysql_insert_id());
?>

```

The problem with having PHP generate a hash and using that as a primary key is that the hash generated could (albeit probably very rarely) be a duplicate key. Thus, you'd have to check to see if the hash is already in use, and generate more until it isn't in use.
Have you tried [uniqid](http://www.php.net/manual/en/function.uniqid.php)?