mathon12
mathon12

Reputation: 181

Problem with auto increment primary key (MySQL)

I have 2 tables each using other's primary key as a foreign key. The primary keys for both are set to auto_increment.

The problem is, when I try to create and entry into one of the tables, I have no idea what the primary key of the entry is and can't figure out what to put in the other table as a foreign key. What should I do? Do I drop auto_increment altogether and cook up a unique identifier for each entry so I can use it to address the created entries? I'm using PHP, if that's relevant. Thanks.

Upvotes: 2

Views: 2157

Answers (4)

Mark Baker
Mark Baker

Reputation: 212412

After the initial insert, the mysql_insert_id() function will return the autoincremented id value so that you can use it in the next insert

Upvotes: 0

selfawaresoup
selfawaresoup

Reputation: 15832

mysql_insert_id can give you the value of the last generated value of an autoincrement primary key.

If you're using PDO (which you should), you can use PDO::lastInsertId() instead. This will work for all database systems that are supported by PDO.

Upvotes: 1

Cristian
Cristian

Reputation: 200090

You can use this function: mysql_insert_id in order to get the last id inserted

Upvotes: 0

user229044
user229044

Reputation: 239311

Every major database going provides a means of finding the ID of the record you just inserted; the idea of auto-incremented IDs wouldn't be very useful otherwise.

In MySQL, you can use mysql_insert_id(). See the PHP function of the same name or the MySQL function it wraps around.

Upvotes: 4

Related Questions