Rotverschiebung psql automatisches Erhöhen der geraden Zahl

9

Ich versuche, eine Tabelle mit einer Auto-Inkrement-Spalte wie folgt zu erstellen. Da Redshift psql SERIAL nicht unterstützt, musste ich den IDENTITY-Datentyp :

  

IDENTITY (Startwert, Schritt)
  Klausel, die angibt, dass die Spalte eine IDENTITY-Spalte ist. Eine IDENTITY-Spalte enthält eindeutige automatisch generierte Werte. Diese Werte beginnen mit dem als Startwert angegebenen Wert und werden um die als Schritt angegebene Anzahl erhöht. Der Datentyp für eine IDENTITY-Spalte muss entweder INT oder BIGINT lauten. '

Meine create table-Anweisung sieht so aus:

%Vor%

Wenn ich jedoch versucht habe, Daten in my_table einzufügen, werden die Zeilen nur um die gerade Zahl erhöht, wie unten:

%Vor%

Meine Einfügeanweisungen sehen wie folgt aus:

%Vor%

Ich habe auch Probleme mit dem Zurückbringen der ID-Spalte, um mit 1 zu beginnen. Es gibt Lösungen für SERIAL -Datentyp, aber ich habe keine Dokumentation für IDENTITY gesehen. Irgendwelche Vorschläge würden sehr geschätzt!

    
peipei 23.03.2015, 21:41
quelle

2 Antworten

4

Sie müssen Ihre Identität wie folgt festlegen:

%Vor%

Quelle: Ссылка

Und Sie können die ID nicht auf 0 zurücksetzen. Sie müssen die Tabelle löschen und neu erstellen.

    
Jorge 04.03.2016 15:20
quelle
0

Setzen Sie Ihren seed Wert auf 1 und Ihren step Wert auf 1 .

Tabelle erstellen

%Vor%

Zeilen einfügen

%Vor%

Ergebnisse

%Vor%

Wenn Sie Ihren seed -Wert auf 0 und Ihren step -Wert auf 1 setzen, erhöht sich die Ganzzahl in einigen Schritten um 2 .

Tabelle erstellen

%Vor%

Zeilen einfügen

%Vor%

Ergebnisse

%Vor%     
Andrew Fogg 22.11.2017 07:18
quelle

Tags und Links