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: