sqlite插入表select*from

Gyo*_*der 29 sql sqlite android

我需要在我的Android应用中将数据从一个表移动到另一个表

我想使用以下sql:

insert into MYTABLE2 select id, STATUS risposta, DATETIME('now') data_ins from  MYTABLE 2
Run Code Online (Sandbox Code Playgroud)

不幸的是,在表MYTABLE2中有一个_ID列AUTOINCREMENT.我能做什么?

谢谢.

编辑: 这是我的MYTABLE2,我希望用另一个表中的数据填充表格:

CREATE TABLE "ANSWERS" ("_id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL ,
"ID_QUESTION" INTEGER,"DATE_INS" DATETIME DEFAULT 
(CURRENT_DATE) , "ANSWER" INTEGER)
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 57

明确指定INSERT子句中的列名,

INSERT INTO destinationTable (risposta, data_ins)
SELECT STATUS risposta, DATETIME('now') data_ins 
FROM   sourceTable
Run Code Online (Sandbox Code Playgroud)


Ale*_*s G 5

您可以指定要插入的列。假设该_id列是autoincrement并且您正在插入其他两列,您可以得到如下所示的内容:

insert into MYTABLE2 (riposta, data_ins)
select STATUS risposta, DATETIME('now') data_ins from  MYTABLE 2
Run Code Online (Sandbox Code Playgroud)


Cyd*_*Cyd 5

这可能会有所帮助,从一个表到另一个表的查询,它还将检查所选列 (id) 是否已存在于另一个表中。

SQLite 查询:

INSERT INTO MYTABLE2(id,data_ins ) 
SELECT id, data_ins FROM MYTABLE2
WHERE id NOT IN ( SELECT id FROM MYTABLE1)
Run Code Online (Sandbox Code Playgroud)

安卓:

 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();
Run Code Online (Sandbox Code Playgroud)