2017-11-05 1 views
-1

Ich habe eine Anwendung mit etwas Suche, wo ich eine Reihe von Suchbegriffen habe.Wie kopiert man Daten von einer Tabelle in eine andere?

Ich möchte etwas wie tun.

Ich war mir nicht sicher, ob der unterstützte Weg wie der unten stehende Code ist oder ob es eine andere, besser unterstützte Methode gibt.

Die Entwicklerdokumente scheinen zu implizieren, dass execSQL nicht für INSERT-Operationen ist.

Führen Sie eine einzelne SQL-Anweisung aus, die NICHT SELECT/INSERT/UPDATE/DELETE ist.

+3

Die docs schlecht sind. Sie können ignorieren "Führen Sie eine einzelne SQL-Anweisung aus, die kein SELECT/INSERT/UPDATE/DELETE ist" – laalto

+0

'Die Entwickler Dokumente scheinen zu implizieren, dass execSQL nicht für INSERT-Operationen ist. Ich verwende' execSQL() 'für INSERT erfolgreich Operationen. Nun, ich benutze es für ALLE Befehle ohne Abfragen (SELECT). Dafür benutze ich 'rawQuery()'. Ich würde den Satz wie folgt umformulieren: "Führe eine einzelne SQL-Anweisung aus, die KEINE SELECT-Anweisung ist" (sie ist ungültig, sie gibt nichts zurück). –

+0

Der Unterscheidungsfaktor ist, dass 'execSQL' keinen Wert zurückgibt. Während die alternativen/empfohlenen (sic) 'insert',' delete' und 'update' Methoden Werte liefern. z.B. 'insert' gibt die rowid zurück oder -1 wenn keine Zeile eingefügt wurde, update und delete gibt die Anzahl der betroffenen Zeilen zurück. (* Bitte beachten Sie, dass dies eine Zusammenfassung ist und nicht vollständig ist *) – MikeT

Antwort

2

können Sie versuchen, so etwas wie:

INSERT INTO table2 (column1, column2, column3, ...) 
SELECT column1, column2, column3, ... 
FROM table1;........................ 

Verwendung dieser mit

db.exeSQL(command); 
Verwandte Themen