android sqlite Tabelle erstellen, wenn nicht vorhanden

9

Ein kleines Problem beim Erstellen neuer Tabellen. Wenn ich den CREATE TABLE-Befehl verwende, formatieren sich meine neuen Tabellen so, wie sie sollten, aber wenn ich die Aktivität verlasse, stürzt die App ab und ich bekomme eine TABLE ALREADY EXISTS im logcat. Wenn ich CREATE TABLE IF NOT EXISTS benutze, wird die neue Tabelle nicht gebildet, sondern fügt einfach meine neuen Datenzeilen zu einer vorherigen Tabelle hinzu und stürzt nicht ab. Was ist daran falsch? Ich würde gerne die Tabelle hinzufügen, ohne dass es mir das schon gibt und ich möchte es hinzufügen, ohne dass es Zeilen zu einer anderen Tabelle hinzufügt.

SqliteHelper-Klasse:

%Vor%     
johnsonjp34 17.02.2014, 19:58
quelle

2 Antworten

29

So soll es funktionieren. CREATE TABLE löst eine Ausnahme aus, wenn die Tabelle bereits existiert. CREATE TABLE IF NOT EXISTS erstellt die Tabelle, wenn sie nicht existiert, oder ignoriert den Befehl, falls dies der Fall ist. Wenn Sie möchten, dass die alte Tabelle gelöscht wird, verwenden Sie DELETE TABLE IF EXISTS vor CREATE TABLE . Wenn Sie das Schema ändern möchten, verwenden Sie ALTER TABLE , nicht CREATE TABLE .

    
Gabe Sechan 17.02.2014, 20:10
quelle
-1

Ich benutze es so:

%Vor%     
Роман Зыков 13.08.2017 08:18
quelle

Tags und Links