开发者

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 ke开发者_高级运维y. 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.


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.


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.


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


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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜