SQLite: Verhindern von doppelten Zeilen

8
%Vor%

Ich möchte nicht, dass Benutzer oder Speicherort UNIQUE haben, da ich mehrere Zeilen mit einem Benutzer haben kann, der dieselben Daten enthält, oder mehrere Zeilen mit einem Speicherort, der die gleichen Daten enthält. Ich möchte nur vermeiden, dass sowohl Benutzer als auch Ort einen Wert haben, wobei sich diese Reihe beliebig oft wiederholt.

Beispiel: Das ist in Ordnung

%Vor%

aber das ist nicht in Ordnung:

%Vor%

, da eine Zeile bereits existiert, in der Benutzer = 1 und Position = 2.

Wie kann ich Duplikate vermeiden?

    
user1425798 28.03.2015, 02:09
quelle

3 Antworten

14

Deklarieren Sie eine eindeutige Einschränkung für (Benutzer, Standort).

%Vor% %Vor%     
Mike Sherrill 'Cat Recall' 28.03.2015, 04:19
quelle
2

Die erste Option erzeugt eine unique constraint in user und location Spalten, die Duplikate vermeiden.

%Vor%

Wenn Sie bereits doppelte Zeilen in der Tabelle haben, müssen Sie die doppelten Zeilen löschen und unique constraint

erstellen

Um doppelte Zeilen zu entfernen, verwenden Sie diese Abfrage

%Vor%     
Pரதீப் 28.03.2015 02:18
quelle
1
%Vor%     
Bob 28.03.2015 02:23
quelle

Tags und Links