Jest to konieczne tylko wtedy, gdy Twoja aplikacja musi wywołać LAST_INSERT_ID() po wykonaniu INSERT . Zwykle LAST_INSERT_ID() zwróci wartość tylko wtedy, gdy faktycznie wstawiłeś nowy wiersz do tabeli, a nie był zduplikowany klucz i zamiast tego zaktualizował wiersz.
Z dokumentacji :
Jeśli użyjesz idiomu, który zacytowałeś, LAST_INSERT_ID() zwróci identyfikator nowego wiersza, który został wstawiony lub wiersza, który został zaktualizowany.