2011-01-09 79 views
32

如果我使用執行單個記錄插入的循環插入多個記錄,則返回的最後一個插入標識與預期的一樣是最後一個。但是,如果我做了多條記錄插入語句:MySQL LAST_INSERT_ID()與多個記錄一起使用INSERT語句

INSERT INTO people (name,age) 
VALUES ('William',25), ('Bart',15), ('Mary',12); 

比方說,上述三個插入表中的第一條記錄。在插入語句之後,我期待最後一個插入標識返回3,但它返回1.有問題的語句的第一個插入標識。

那麼有人可以確認這是否是LAST_INSERT_ID()在多個記錄INSERT語句的上下文中的正常行爲。所以我可以基於它我的代碼。

+0

您的表是否有自動增量ID? – 2011-01-09 02:44:28

+4

第二個插入ID很容易計算。只需在第一個記錄後添加一個記錄。 – dqhendricks 2011-01-09 03:42:18

回答

2

這種行爲在man page爲MySQL提及。它在評論中,但沒有受到挑戰,所以我猜這是預期的行爲。