linux-BR.org

Notícias de software livre e tecnologias

Nossas modificações “principais” não podem “ver” que fizemos na cláusula com – é por isso que não recebemos a nova tag “C”, apenas a tag existente “B”.Na cláusula com com a tag “C”, mas quando consultamos a tabela de tags imediatamente após, obtemos a tag “B”.”Upsert” vs. “Get ou Create”
“Atualizar ou inserir” (também conhecido como “UpSert”) é diferente de “Get ou Create”.Vamos checar:
Selecionar da tabela após o comando concluído mostra as tags “B” e “C” estão presentes na tabela, então por que só conseguimos “B”?Em um “Upsert”, atualizamos a linha correspondente que já existe na tabela, enquanto em “Get ou Create”, queremos evitar alterar os dados existentes.

Fonte: https://hakibenita.com/postgresql-get-or-create