Wie setzt man AUTO INCREMENT für eine Spalte in SQLite mit Python richtig?

10

Ich habe mit dem folgenden Code versucht:

%Vor%

Kann mir jemand helfen, dass name_id automatisch inkrementiert wird?

    
Avi 30.10.2014, 11:59
quelle

4 Antworten

13

In SQLite wird die Spalte INTEGER PRIMARY KEY automatisch inkrementiert. Es gibt auch ein AUTOINCREMENT Schlüsselwort. Wenn in INTEGER PRIMARY KEY AUTOINCREMENT verwendet, a Es wird ein leicht anderer Algorithmus für die ID-Erstellung verwendet.

%Vor%

Dieser Code funktioniert jetzt OK.

%Vor%

Wenn Auto-Inkrement verwendet wird, müssen wir explizit die Spaltennamen angeben, wobei wir die eine, die automatisch inkrementiert wird.

%Vor%

Dies ist die Ausgabe des Codebeispiels.

    
Jan Bodnar 30.10.2014, 12:14
quelle
0

Versuchen Sie es so:

%Vor%     
Naveed 30.10.2014 12:02
quelle
0

Es scheint, dass Sie es bereits getan haben. Daher müssen Sie beim Einfügen nicht auf dieses Feld verweisen.

%Vor%     
Daniel Roseman 30.10.2014 12:04
quelle
0

Ersetzen Sie die erste? in Executemany-Anweisung mit Null.

So kann die folgende Zeile neu geschrieben werden:

c.executemany ('INSERT INTO q1_person_name VALUES (?,?,?)', Datenpersonenname)

als

c.executemany ('INSERT INTO q1_personenname VALUES (null,?,?)', datenpersonenname)

    
Animesh Jaipurkar 16.02.2018 16:35
quelle

Tags und Links