J'ai besoin de déplacer des données d'une table à une autre dans mon Android
Je souhaite utiliser le sql suivant:
insert into MYTABLE2 select id, STATUS risposta, DATETIME('now') data_ins from MYTABLE 2
Malheureusement, dans la table MYTABLE2, il y a une colonne _ID AUTOINCREMENT. "Que pouvais-je faire?"
Merci.
EDIT: c'est mon MYTABLE2 le, le tableau que je voudrais remplir avec les données d'un autre tableau:
CREATE TABLE "ANSWERS" ("_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL ,
"ID_QUESTION" INTEGER,"DATE_INS" DATETIME DEFAULT
(CURRENT_DATE) , "ANSWER" INTEGER)
spécifiez explicitement le nom de la colonne dans la clause INSERT
,
INSERT INTO destinationTable (risposta, data_ins)
SELECT STATUS risposta, DATETIME('now') data_ins
FROM sourceTable
Vous pouvez spécifier dans quelles colonnes vous insérez. En supposant que le _id
la colonne est autoincrement
et vous insérez les deux autres colonnes, vous pouvez avoir quelque chose comme ceci:
insert into MYTABLE2 (riposta, data_ins)
select STATUS risposta, DATETIME('now') data_ins from MYTABLE 2
Cela pourrait aider, une requête d'une table à l'autre et il vérifiera également si la colonne (id) sélectionnée existe déjà dans une autre table.
QUESTION SQLite:
INSERT INTO MYTABLE2(id,data_ins )
SELECT id, data_ins FROM MYTABLE2
WHERE id NOT IN ( SELECT id FROM MYTABLE1)
Android:
String select_insert_query = "INSERT INTO " + TABLE_MYTABLE2
+ "( " + ID + "," + DATA_INS + ") SELECT "
+ ID + ","
+ DATA_INS + " FROM "
+ TABLE_MYTABLE2
+ " WHERE " + ID + " NOT IN (SELECT " + ID
+ " FROM " + TABLE_MYTABLE1 + ")";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(select_insert_query, null);
cursor.close();