Isso só é necessário se seu aplicativo precisar chamar
LAST_INSERT_ID() depois de executar o INSERT . Normalmente, LAST_INSERT_ID() só retornará um valor se você realmente inserir uma nova linha na tabela, não se houver uma chave duplicada e atualizar a linha. Da documentação :
Se você usar o idioma que citou,
LAST_INSERT_ID() retornará o ID da nova linha que foi inserida ou a linha que foi atualizada.