/ / Wie kann ich eine Autoincrement-Variable in SQLite verwenden? - Java, SQLite

Wie kann ich eine Autoinkrement-Variable in SQLite verwenden? - Java, SQLite

Das ist mein Code in SQLite: stmt.execute ("Tabelle erstellen, wenn keine Personen vorhanden sind (Namenstext, ID INTEGER PRIMARY KEY AUTOINCREMENT)");

Aber wenn ich meine Tabelle in Navicat sehe und wenn ich sie verwenden möchte, ist alles null. Ich möchte es wie eine ganze Zahl (1,2, ...) verwenden. Was soll ich machen? Bitte hilf mir...

Antworten:

1 für die Antwort № 1

Eine einfache Google-Abfrage ergab folgendes Ergebnis:

Zusammenfassung

Mit dem Schlüsselwort AUTOINCREMENT werden zusätzliche CPU, Arbeitsspeicher, Speicherplatz und Speicherkapazität zugewiesen Festplatten-E / A-Overhead und sollte vermieden werden, wenn dies nicht unbedingt erforderlich ist. Es ist normalerweise nicht benötigt.

In SQLite ist eine Spalte vom Typ INTEGER PRIMARY KEY ein Alias ​​für die ROWID (außer in WITHOUT ROWID-Tabellen), die immer mit 64-Bit-Vorzeichen versehen sind ganze Zahl.

Auf einem INSERT, wenn der ROWID- oder INTEGER-PRIMARY-KEYSpalte ist nicht Wird ein Wert explizit angegeben, wird dieser automatisch mit einem gefüllt unbenutzte Ganzzahl, normalerweise diejenige, die derzeit die größte ROWID ist in Benutzung. Dies gilt unabhängig davon, ob AUTOINCREMENT eingestellt ist oder nicht Schlüsselwort wird verwendet.

Wenn das Schlüsselwort AUTOINCREMENT nach angezeigt wirdINTEGER PRIMARY KEY, das ändert den automatischen ROWID-Zuweisungsalgorithmus, um die Wiederverwendung zu verhindern von ROWIDs über die Lebensdauer der Datenbank. Mit anderen Worten, die Zweck von AUTOINCREMENT ist es, die Wiederverwendung von ROWIDs zu verhindern zuvor gelöschte Zeilen.

Referenz: AutoIncrement SQLite