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

Chave primária

Criando a tabela com a chave primária ele me deixo inserir um dos dados que tinha a chave repetida, mas não apresentou erro. Conseguem me ajudar se fiz algo errado ou é alguma configuração. Minha versão do postgrs é 14. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Jesieli,

Desculpe, não entendi...

... o que você está mostrando no SELECT, a "column1" na tela só aparece o "1", e o "column2" o "java"... cadê a redundância no "html"?!?

[]'s,

Fabio I.

Boa noite Fábio!

Então, coloquei o insert para colocar uma linha id 1, nome html e outra id 1, nome java, esperando que apresentasse o erro, mas criou a linha 1, java.

solução!

Jesieli,

Quando você coloca o ponto-e-vírgula ";", você 'fecha' a linha.

Então no caso abaixo, o VB.net NÃO pertence a query, em outras palavras, está escrita errada esta query:

INSERT INTO  curso (id, nome)
VALUES (5, 'C#');
VALUES (5, 'VB.Net');

O certo é uma das duas formas abaixo:

INSERT INTO  curso (id, nome)
VALUES (5, 'C#'), 
       (5, 'VB.Net');

ou

INSERT INTO  curso (id, nome)
VALUES (5, 'C#');

INSERT INTO  curso (id, nome)
VALUES (5, 'VB.Net');

Se você fizer uma das duas forma acima, apresentará um erro +/- assim:

Duplicate entry '5' for key 'curso.PRIMARY'.

Por favor, veja também:

==========================================================

POSTGRESQL - CHAVE PRIMÁRIA

Neste artigo, veremos as restrições de chave primária do PostgreSQL usando instruções SQL. Uma chave primária é uma coluna ou grupo de colunas usado para identificar uma linha exclusivamente em uma tabela. Tecnicamente falando, uma restrição de chave primária é a combinação de uma not-nullrestrição e uma UNIQUE restrição. Deve existir apenas uma chave primária em uma tabela. O PostgreSQL produz um índice de árvore B exclusivo na coluna ou um grupo de colunas usado que define a chave primária sempre que uma chave primária é adicionada à tabela.

https://acervolima.com/postgresql-chave-primaria/

==========================================================

Tornar a key primária duplicável

Ao inserir os dados na minha tabela SQL tudo ocorre normal.

Porém, ao tentar inserir pela segunda vez, com o mesmo valor em id que é o campo principal da tabela, ele retorna o seguinte erro: Duplcate entry '156' for key 'PRIMARY'.

No entando, eu quero que meu sistema insira uma nova linha de dados que possua o mesmo ID. Como eu faço para tornar esse primary key 'duplicavel' ?

Um dos requisitos da Primary key é não permitir duplicados. A sua função é identificar cada um dos registos(linhas) da tabela. Por isso terá de ter valores únicos e não nulos.

https://pt.stackoverflow.com/questions/57717/tornar-a-key-prim%C3%A1ria-duplic%C3%A1vel

==========================================================

PostgreSQL – Como eliminar valores repetidos

Você que utiliza PostgreSQL, já deve ter se deparado com o problema dos dados duplicados. É possível que em uma tabela existam campos que contenham valores repetidos e sua necessidade seja tornar esses registros únicos.

Como proceder com valores repetidos sem eliminar todos eles? Seria possível deixar somente o mais atual armazenado? É o que veremos a seguir.

https://blog.4linux.com.br/postgresql-como-eliminar-valores-repetidos/

==========================================================

[]'s,

Fabio I.

Obrigada Fabio!