Ir para conteúdo

Inserir e atualizar dados no SQL


Ygor

Posts Recomendados

Olá,

estou utilizando o SQLite para armazenamento de dados e eu gostaria de que, quando eu inserir um valor no banco de dados, se existir, atualizar. Caso contrário, inserir normalmente.

Eu sei que existe INSERT e UPDATE, mas teria uma forma de fazer isso com apenas um comando?

Link para o comentário
Compartilhar em outros sites

Citar

Eu sei que existe INSERT e UPDATE, mas teria uma forma de fazer isso com apenas um comando?

Tem sim! Você pode fazer isso com o 'UPSERT', que é um 'INSERT' normal com o 'ON CONFLICT' inserido. Mas o 'UPSERT' só funciona para a versão 3.24.0 ou superior, então, caso esteja utilizando uma versão que não suporte o 'UPSERT', você pode usar o 'INSERT OR REPLACE'. Os dois apenas funciona caso a fileira for 'UNIQUE'.

Exemplo do 'UPSERT':

--'name' sendo 'PRIMARY KEY'
INSERT INTO jogadores(name, data) VALUES ('bieel1503', 'blabla') ON CONFLICT(name) DO UPDATE SET data='blabla';


Exemplo do 'INSERT OR REPLACE':

--'name' sendo 'PRIMARY KEY'.
--Esse comando vai inserir, caso não exista, ou deletar a coluna que deu conflito e recriar com os novos dados.
INSERT OR REPLACE INTO jogadores(name, data) VALUES ('bieel1503', 'blabla');


Você pode ler mais sobre AQUI.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...