Разница между функциями LASTINSERTID() и mysqlinsertid() при работе с автоинкрементами заключается в их области применения и контексте использования. 1
LASTINSERTID() — функция SQL, которая возвращает последнее автоматически сгенерированное значение AUTOINCREMENT в рамках текущего сеанса. 15 Если одним оператором вставляется сразу несколько строк, то LASTINSERT_ID() возвращает значение автоинкрементного столбца первой из вставленных записей. 3
mysqlinsertid() — функция C API, которая возвращает ID, сгенерированный для столбца AUTO_INCREMENT предыдущим запросом INSERT. 12
Таким образом, LASTINSERTID() больше подходит для работы с AUTOINCREMENT в рамках сеанса, а mysqlinsert_id() — для получения ID, сгенерированного предыдущим запросом INSERT.