sql >> Databasteknik >  >> Database Tools >> SSMS

SSMS tillåter dubbletter av poster i en tabell, men inte efterföljande uppdateringar

Allt managementstudio någonsin gör är att tillhandahålla ett användargränssnitt för att skapa lite SQL åt dig och köra det mot DB.

I ditt fall producerade den en INSERT-sats varje gång du lade till en rad. Detta är helt giltigt.

När du sedan försökte använda användargränssnittet för att DELETE eller UPPDATERA en enda post av alla dessa dubblettposter kunde den inte producera SQL för att göra det. Anledningen är, eftersom det inte fanns någon nyckel på bordet, finns det inget sätt att skapa en WHERE-sats som skulle representera posten du försökte UPPDATERA eller DELETE.

Det är "fel"-meddelanden låter helt tydliga och giltiga för mig.

När det gäller dina kommentarer:

Till min förvåning tillät det mig också att ange "värde1" på andra raden och gå ner - detta borde vara omöjligt eftersom det nu finns två identiska rader. Men eftersom jag bara bråkade, störde detta mig inte.

Uppenbarligen är det här en konstig och relationsbrytande teori, men jag brydde mig inte riktigt eftersom det här bara är ett bord som jag har skapat att bråka med.

Det är inget fel med att ha en databastabell som tillåter dubbletter, det är en helt giltig sak att göra om det är vad du behöver. När det gäller att inte "bry sig" eller bli "besvärad" av att du hade tillåtit dubbletter. Det är där felet ligger. Det är då du borde ha insett att du glömt att lägga till en primärnyckel.



  1. phpMyAdmin Åtkomst nekad

  2. Wamp phpMyAdmin-fel #1045 - Åtkomst nekad för användaren 'root'@'localhost'

  3. Hur man ansluter till LocalDb

  4. Hur man aktiverar relationsvy i phpmyadmin