2015-01-15 143 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

有沒有可能以某種方式做到這一點? –