O valor de autoincremento é gerado pelo próprio banco de dados, quando a inserção é feita; o que significa que você não pode obtê-lo antes de fazer a consulta de inserção real.
A solução que você propôs não é a que costuma ser usada - que seria:
- insira alguns dados meio vazios
- obtenha o valor de incremento automático que foi gerado
- faça seus cálculos usando esse valor de incremento automático
- atualize a linha para colocar os dados novos/completos no lugar -- usando o incremento automático gerado anteriormente no
where
cláusula daupdate
consulta, para identificar qual linha está sendo atualizada.
É claro que, por precaução de segurança, todas essas operações devem ser feitas em uma transação (para garantir um comportamento "tudo ou nada")
Como pseudo-código:
begin transaction
insert into your table (half empty values);
$id = get last autoincrement id
do calculations
update set data = full data where id = $id
commit transaction