Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Retornar código no momento da inserção

Olá! Tenho uma tabela no meu banco em que o código está auto increment. Quando um usuário insere um novo registro na tabela, preciso que o mesmo seja redirecionado para a página desse registro e eu utilizo o código para fazer isso. Há uma maneira do sql retornar o código do registro que acabou de ser inserido? Obrigada!

3 respostas

No postgresql existe o RETURNING.

tabela: usuarios

campos: id, nome, sobrenome

Exemplo:

CREATE TABLE usuarios (nome text, sobrenome text, id serial primary key);

INSERT INTO usuarios (nome, sobrenome) VALUES ('Monique', 'Schreiner') RETURNING id;

No INSERT acima é adicionado um usuário e retornado o seu id. Você está querendo algo similar?

Monique, mas o código de registro é gerado pelo SQL, pelo auto increment? Se for, você pode executar um comando SELECT em seguida, para pegar esse código. Se não for, o código deve ser gerado pelo próprio backend do sistema, não é? Daí não teria necessidade de pegar do banco de dados. Aguardo seu retorno, abraços!

solução!

No MySQL tem o last_insert_id que retorna o id do último registro inserido por aquele cliente/conexão

http://mysqltutorial.org/mysql-functions/mysql-last_insert_id/

Caso a programação do sistema seja em PHP, existe um comando para facilitar esta operação

http://php.net/manual/pt_BR/function.mysql-insert-id.php