Detta är bara nödvändigt om din applikation behöver anropa LAST_INSERT_ID() efter att ha utfört INSERT . Normalt LAST_INSERT_ID() returnerar bara ett värde om du faktiskt infogade en ny rad i tabellen, inte om det fanns en dubblettnyckel och den uppdaterade raden istället.
Från dokumentationen :
Om du använder det idiom du citerade, LAST_INSERT_ID() returnerar antingen ID:t för den nya raden som infogades eller raden som uppdaterades.