在MySQL中,我如何才能用于插入操作的主键,当它自动增量。
基本上,我想语句完成后要返回的新的自动增量值。
谢谢!
在MySQL中,我如何才能用于插入操作的主键,当它自动增量。
基本上,我想语句完成后要返回的新的自动增量值。
谢谢!
您的评论澄清说,你有兴趣在确保LAST_INSERT_ID()如果另一个并发INSERT发生不给错误的结果。 请放心,它是可以安全使用LAST_INSERT_ID(),而不管其他并发活动。 LAST_INSERT_ID()只返回在当前会话期间生成的最新标识。
你可以自己尝试一下:
如果你仔细想想,这是有道理的唯一途径。 支持自动递增的关键机制,所有的数据库都必须这样的行为。 如果结果取决于与其他客户可能同时插入一个竞争条件,那么就没有可靠的方法来获得在当前会话最后插入的ID值。
MySQL的LAST_INSERT_ID()
MySQL的文档描述的功能: LAST_INSERT_ID()
[选择最大值从表名(primary_key_column_name)]唉唉不nessecarily。 我不是一个MySQL的家伙,但也有让最后完成的动作是比这一点更强大的最后插入的ID特定的方式。 如果什么插入已经发生了,你写表和查询它之间? 我知道,因为它在很久以前就把我刺痛了(所以是它确实发生)。 如果一切都失败阅读手册: http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html