Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Comando delete

delete from compras where id = 44;

Olá, gostaria de saber se é possível deletar uma linha, como no exemplo deste código da aula 2, mas ao mesmo tempo em que estou retirando esta linha da tabela compras, gostaria de armazena-la em uma outra tabela que seria composta por todos os dados que deletei da tabela compras, com o intuito de armazenar dados que, no futuro, posso querer resgatar ou apenas consultar.

3 respostas
solução

boa tarde Vinícius,

Após deletar acredito que não tem como recuperar, mas você pode fazer um insert na nova tabela com os dados da tabela antiga e depois deletar o dado, ou uma outra prática comum é deixar uma coluna chamada "ativo " com true ou false, onde ao invés de deletar a linha, apenas inativa para manter o dado, assim nao precisa de outra tabela

Entendo. Neste exemplo seria facil apenas inserir na nova tabela de forma manual, porem se fosse um comando como:

Delete from compras where valor < 50;

Ficaria mais complicado se isto me retornasse centenas de resultados. Eu poderia fazer um select para puxar estes dados, porém ainda sim teria que inseri-los em uma outra tabela. Acho que sua sugestão de usar boolean para marcar estes dados seria melhor do que deleta-los então. Muito obrigado!

Porque senão teria que manipular duas tabelas e poderia acabar se complicando com o tempo! o melhor mesmo é manter apenas uma!