2011-03-13 122 views
4

我需要從單個查詢中返回所有插入的ID(來自自動遞增的字段),該查詢將類似20+行的內容插入到MySQL數據庫中。我有這樣的東西到目前爲止:獲取多個INSERT的唯一ID

INSERT INTO [tablename] (...) VALUES (...), (...), (...); 

我將如何修改上述查詢來取回所有插入的ID?

我發現了幾個建議使用DECLARE的主題,但是當我嘗試運行查詢時,PhpMyAdmin總是返回一個錯誤。

謝謝!

+0

通過上面的查詢,我可以得到第一個插入的ID加上受影響的行數,所以我可以用這種方式計算ID,但問題是如果結果是正確的。 MySQL中的查詢是鏈接還是可以並行發生? – shabushabu 2011-03-13 16:01:07

+0

我的數據庫是MyISAM類型的。只是讀某個地方,這種類型的查詢不會同時發生,所以我應該沒問題,根據第一個ID和受影響的行計算ID,對吧? – shabushabu 2011-03-13 16:26:07

回答

1

MyISAM應該爲你的插入鎖定表格,所以感覺你可以確定獲得一個值並且抵消受影響的行數。

爲了確保安全,如何添加'batch'列並插入基於會話的變量?然後,您可以選擇具有該值的ID。不是很好,但...