获取刚刚发布的记录ID的最简单方法

时间:2011-12-13 16:08:51

标签: mysql select insert

使用PHP进行MySQL插入时,获取刚刚添加的记录的ID的最简单方法是什么?

例如,假设你发布的是留言板类型的帖子,你在user_posts表中有user_id,post_subject,timestamp等,然后你就可以在user_post_threads表中找到帖子的文本。

我需要从user_posts表中获取新记录的ID,以便我可以将其添加到user_post_threads表中的连接文本帖子中。

我过去的解决方案是对timestamp和user_id进行新查询,以便在将数据发布到user_post_threads表之前获取记录ID。但我讨厌这样做,因为我似乎在对我的数据库进行不必要的查询。

我想改进我的方法,所以提示会很棒。谢谢!

2 个答案:

答案 0 :(得分:3)

超级简单!如果您只是使用vanilla SQL

SELECT LAST_INSERT_ID()

More about LAST_INSERT_ID()


听起来像是你使用PHP,它也具有本机功能。

$id = mysql_insert_id();

More about mysql_insert_id()

答案 1 :(得分:1)

您可以通过在php中使用的任何mysql库中调用等效的insert_id方法来获取此信息。

mysql_insert_id

mysqli::insert_idmysqli_insert_id

PDO::lastInsertId

可能还有其他一些......但是你明白了。