SSMS
 sql >> Base de Dados >  >> Database Tools >> SSMS

O SSMS permite registros duplicados em uma tabela, mas não as atualizações subsequentes


Tudo o que o estúdio de gerenciamento faz é fornecer uma interface do usuário para criar um SQL para você e executá-lo no banco de dados.

No seu caso, toda vez que você adiciona uma linha, ela produz uma instrução INSERT. Isso é perfeitamente válido.

Quando você tentou usar a interface do usuário para excluir ou atualizar um único registro de todos esses registros duplicados, não foi possível produzir o SQL para fazer isso. A razão é que, como não havia chave na tabela, não há como produzir uma cláusula WHERE que representaria o registro que você estava tentando UPDATE ou DELETE.

Suas mensagens de "erro" soam perfeitamente claras e válidas para mim.

Quanto aos seus comentários:

Para minha surpresa, ele também me permitiu inserir "valor1" na segunda linha e digitar para baixo - isso deve ser impossível, pois agora existem duas linhas idênticas. No entanto, como eu estava apenas brincando, isso não me incomodou.

Obviamente isso é estranho e quebra a teoria relacional, mas eu realmente não me importei já que esta é apenas uma tabela que eu criei para mexer.

Não há nada de errado em ter uma tabela de banco de dados que permita duplicatas, é uma coisa perfeitamente válida se for o que você precisa. Quanto a não "se importar" ou estar "incomodado" por você ter permitido duplicatas. É aí que está o erro. É então que você deve ter percebido que esqueceu de adicionar uma chave primária.