mysql_insert_id()如何工作?

时间:2013-03-07 15:23:07

标签: php mysql

“mysql_insert_id - 获取上次查询中生成的ID”

想象一下3个在线用户呼叫相同的查询,例如插入表格。 用户1将行插入表中,但用户号为。三个将是最后一个调用查询的人,仅在用户一个之后几毫秒。

什么会为用户1返回mysql_insert_id?这将是他的用户ID还是用户ID?

如果不推荐使用此功能,我可以使用什么?

1 个答案:

答案 0 :(得分:2)

每个连接跟踪插入ID 。没有持久连接,每个单独的脚本执行都有自己的连接。对于持久连接,每个Apache进程都有自己的MySQL连接(但每个单独的进程都是串行提供结果 - 所以这不是问题)。只要您在与PHP中的mysql_insert_id()查询相同的页面加载中调用INSERT,就可以了。

要回答问题的第二部分,您应该使用mysqliPDO(首选)库。 mysqli具有相应的mysqli_insert_idPDOlastInsertId()方法。