2015-01-15 74 views
0

我们的API可以在任何给定时间同时在单个端点上获得数百次匹配,并且每次调用都会在数据库中插入一些内容。如何从mysql插入获取输出?

我需要得到最后插入的ID - 不使用last_inserted_id()

不幸的是,如果我们有一个很大的流量一下子,这样有时会变得有点扭曲,给的东西的ID被另一插入打到API。

是否有添加某种输出子句的方法,该子句将返回与插入操作相同的查询中插入的内容的ID?

+1

为什么你不能使用'last_insert_id'?请告诉... –

+0

有了这么多的流量同时发生(不会经常发生),我们将同时插入多个事物。如果事情通过不同的进程同时插入,最终导致last_insert_id不总是匹配。 –

+1

垃圾。 'last_insert_id'是每个客户端,它将始终匹配该客户端的最后一次插入操作。从[documentation](http://dev.mysql.com/doc/refman/5.0/en/mysql-insert-id.html),_“mysql_insert_id()的值仅受当前发布的语句影响客户端连接,不受其他客户端发布的语句影响。“我通过PHP使用PDO来完成此操作。”# –

回答

1

如果您使用-vv运行INSERT,将打印正在运行的查询以及您正在查找的结果。

+0

有没有可能以某种方式做到这一点? –