在进行多个查询时获取最后一个查询的id

时间:2012-09-22 18:23:19

标签: php mysql

在php中有一个带有textarea和文件上传的表单。在mysql中,我有表1,每个上传的文件都有行,其中包含名称,大小等数据...我有表2,其中包含在textarea中输入的数据和一个上传文件ID的列。

我正在使用mysql_insert_id来获取表1中最后插入的行的ID(上传文件的ID)。然后我将该id插入表2中。

假设不同用户同时进行多次上传,mysql_insert_id每次都会返回正确的ID吗?如果2个用户在确切时间上传,会发生什么情况..或者有超时...我想我是否想要有更好的方法同时将新创建的ID插入2个表?

3 个答案:

答案 0 :(得分:1)

它返回已插入的会话的插入行的id。所以是的,你做得很好。

答案 1 :(得分:1)

根据php文档(mysqli::$insert_id),last_insert_id函数返回查询生成的ID,该查询在具有AUTO_INCREMENT属性的列的表上。这是您正在使用的特定资源;其他资源不会相互影响

答案 2 :(得分:1)

当你在表的主键上有自动增量时,mysql不能给出两倍相同的值