很多時候,我們在插入一條數據的時候,我們需要知道它的主鍵是多少,它會自動返回最後一個insert並且為auto_increment列位置的第一個發生的值。
而且需要注意的是產生的id每次連接後保存在服務器中,這意味著函數向一個給定客戶端返回的值就是該客戶端產生對影響auto_increment列的最新語句後的第一個auto_increment值。
而且這個值不會被其他客戶端影響,即使它們產生了它們自己的auto_increment值,這個行為是保證了我們能夠找回自己的id而不用擔心其他客戶端的活動,而且不需要加鎖或者其他處理,也就是說,last_insert_id是針對connection的。
如果我們用單條的insert語句插入多個行,那麼last_insert_id()只返回插入的第一行產生的值,其原因就是這樣會讓依靠其他服務器復制同樣的insert語句會變得簡單。