Ich habe zwei Tabellen mit genau den gleichen Spalten, außer dass die zweite hat einige zusätzliche.Einfügen von einer Tabelle in eine andere mit select (android sqlite)
Ich möchte alle Daten kopieren, außer für die Spalte _id aus der 1. Tabelle in die 2. Tabelle. Die Namen der Spalten sind in beiden Tabellen identisch.
Hier ist die erste Tabelle
private static final String TABLE_EXPENSES_CREATE = "create table " + TABLE_EXPENSES + " (" +
COLUMN_ID + " integer primary key autoincrement, " +
COLUMN_DATE + " integer not null, " +
COLUMN_AMOUNT + " real not null, " +
COLUMN_DESCRIPTION + " text, " +
COLUMN_REPEAT_ID + " integer," +
" FOREIGN KEY (" + COLUMN_REPEAT_ID + ") REFERENCES " +
TABLE_REPEAT_METADATA + "(" + COLUMN_ID + ")" +
");";
und der zweite eines
private static final String TABLE_TRANSACTIONS_CREATE =
"create table " + TABLE_TRANSACTIONS + " (" +
COLUMN_ID + " integer primary key autoincrement, " +
COLUMN_DATE + " integer not null, " +
COLUMN_AMOUNT + " real not null, " +
COLUMN_DESCRIPTION + " text, " +
COLUMN_TYPE + " text not null, " +
COLUMN_REPEAT_ID + " integer," +
" FOREIGN KEY (" + COLUMN_REPEAT_ID + ") REFERENCES " +
TABLE_REPEAT_METADATA + "(" + COLUMN_ID + ")" +
");";
Ich versuche, alles aus der ersten Tabelle zu kopieren (mit Ausnahme der COLUMN_ID) zum zweiten mit folgendem Code:
db.rawQuery("insert into "
+ MySQLiteHelper.TABLE_TRANSACTIONS
+ " ("
+ COLUMN_DATE
+ ", "
+ COLUMN_AMOUNT
+ ", "
+ COLUMN_DESCRIPTION
+ ", "
+ COLUMN_REPEAT_ID
+ ") select "
+ COLUMN_DATE
+ ", "
+ COLUMN_AMOUNT
+ ", "
+ COLUMN_DESCRIPTION
+ ", "
+ COLUMN_REPEAT_ID
+ " from "
+ MySQLiteHelper.TABLE_EXPENSES, null);
Es gibt jedoch keinen Effekt, sobald der Code ausgeführt wird. Die Protokolle zeigen keine Fehler. Was mache ich falsch?
Das hat es behoben. Vielen Dank. – nsmirosh