我注意到,如果我準備一個多插入語句並通過PDO將其執行到MySQL中,然後請求last_insert_id,我會得到多個插入行的第一個ID,而不是最後一個。具體做法是:PDO Mysql預處理語句last_insert_id在多重插入時返回錯誤的值?
"INSERT INTO test_table (value1, value2, value3) VALUES (1, 2, 3), (1, 2, 3)";
將在空表上創建這些行:
ID value1 value2 value3
1 1 2 3
2 1 2 3
但LAST_INSERT_ID將返回 「1」。 這是一個已知的問題,或者我做錯了什麼?有人可以驗證/測試/解釋這個嗎?我不知道該怎麼做才能得到正確的最後一個ID,除了做一個實際的選擇,這將是更慢的方式。
這是MySQL的默認行爲。 –