Como Posso Obter a ID Única para a Última Linha Inserida?


Se você inserir um registro em uma tabela contendo uma coluna que tiver o atributo AUTO_INCREMENT, você pode obter o ID gerado mais recentemente chamando a função mysql_insert_id().

Você também pode recuperar o ID utilizando a função LAST_INSERT_ID() em uma string de consulta que foi passada a mysql_query().

Você pode verificar se um índice AUTO_INCREMENT é usado executando o seguinte código. Ele também verifica se a consulta era um INSERT com um índice AUTO_INCREMENT:

if (mysql_error(&mysql)[0] == 0 &&
 mysql_num_fields(result) == 0 &&
 mysql_insert_id(&mysql) != 0)
{
 used_id = mysql_insert_id(&mysql);
}

O ID gerado mais recentemente é mantido no servidor em uma base por conexão. Ele não será alterado por outro cliente. Ele não será alterado mesmo se você atualizar outra coluna AUTO_INCREMENT com um valor não mágico (isto é, um valor que não é NULL e nem 0).

Se você quiser utilizar o ID que foi gerado por uma tabela e inserido em uma segunda tabela, você ode utilizar instruções SQL como esta:

Retornar