1
resposta

UPDATE CASCADE em algo que já existe

O que acontece se o UPDATE CASCADE fizer, por exemplo, o update do id de um aluno de 2 para 10 mas algum aluno já estiver utilizando este id e este campo esteja caracterizado como UNIQUE?

1 resposta

Oi, Gabriel, tudo bem?

No PostgreSQL, se você tentar fazer um UPDATE em uma coluna que está definida como UNIQUE para um valor que já existe, o sistema retornará um erro. Isso acontece porque a restrição UNIQUE garante que todos os valores em uma coluna ou conjunto de colunas sejam diferentes.

No seu exemplo, se tentar atualizar o id de um aluno de 2 para 10 e esse id 10 já estiver sendo utilizado por outro aluno, o PostgreSQL retornará um erro, pois a restrição UNIQUE estaria sendo violada.

Vamos a um exemplo prático. Imagine que temos uma tabela "aluno" com os seguintes dados:

idnome
2Gabriel
10João

Se tentarmos executar o seguinte comando:

UPDATE aluno
    SET id = 10
    WHERE id = 2;

O PostgreSQL retornará um erro, pois o id 10 já está sendo utilizado pelo aluno João.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software