2016-04-26 9 views
7

chcę usunąć wiersz i otrzymuję ten błąd:wartości row zaktualizowany lub usunięty albo nie rób wiersz unikatowy lub nie zmieniają one wiele wierszy

the row values updated or deleted either do not make the row unique or they alter multiple rows

enter image description here

+0

Który wiersz chcesz usunąć? Jak możesz jednoznacznie zidentyfikować ten wiersz? –

+0

Dzieje się tak dlatego, że twoja tabela to [stertę] (https://msdn.microsoft.com/en-GB/library/hh213609.aspx), która jest tabelą bez [klucza podstawowego] (https: // technet. microsoft.com/en-us/library/ms191236(v=sql.105).aspx). Pierwszy link przeniesie Cię do dokumentów Microsoft na stosach. TL; DR - Zazwyczaj najlepiej ich unikać. –

+0

Sterty nie jest tabela bez klucza podstawowego. Stertą jest tabela bez indeksu klastrowego. –

Odpowiedz

16

są zduplikowane wiersze w stół. W takim przypadku nie można edytować tabeli za pomocą interfejsu użytkownika. najpierw usuń wiersze z pasującymi danymi za pomocą SQL, a następnie spróbuj i edytuj. Usuń wiersze z pasującymi danymi jeden po drugim, aż pozostaniesz z jednym rzędem. Użyj poniższej kwerendy do usunięcia pasujących wierszy, w których kolumna IdSeminar ma wartość 1:

Delete top(1) from tab where IdSeminar=1 

zrobić to samo z innymi pasującymi wierszami.

+0

Spóźniłem się na imprezę, a nie OP, ale to było właśnie to, czego potrzebowałem. – mikeY

2

SQL Studio ostrożnie próbuje usunąć dokładnie jeden wiersz, ale nie znajduje sposobu, aby go zidentyfikować. W przeciwieństwie do tego, co to jest interfejs użytkownika, może kusić, aby przypuszczać, wiersz nie może być zidentyfikowany przez jego pozycję w zestawie wyników.

Powiązane problemy