許多開發人員都會遇到需要高效地向MySQL 表中插入大量行並獲取其對應ID 的情況。 傳統上,使用 LAST_INSERT_ID() 檢索最後插入的 ID 很簡單,但批次插入過程需要修改方法。
解決方案:
對於 MySQL InnoDB 表,一個解決方案將 LAST_INSERT_ID() 與 ROW_COUNT() 結合使用。此策略依賴 InnoDB 在批次插入期間維持順序編號的固有能力,假設 innodb_autoinc_lock_mode 參數設定為 0(傳統)或 1(連續)。
因此,透過取得代表第一個插入的ID的LAST_INSERT_ID(),並加上ROW_COUNT() - 1,我們就得到了最終插入的ID。這個方法使我們能夠無縫地建立一個ID數組。
以上是如何有效率地將多行插入MySQL並檢索它們的所有ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!