Подтвердить что ты не робот

Sqlite insert в таблицу select * from

Мне нужно переместить данные из одной таблицы в другую в моем приложении для Android.

Я хотел бы использовать следующий sql:

insert into MYTABLE2 select id, STATUS risposta, DATETIME('now') data_ins from  MYTABLE 2

К сожалению, в таблице MYTABLE2 есть столбец _ID AUTOINCREMENT. Что я могу сделать?

Спасибо.

EDIT: это моя MYTABLE2, таблица, которую я хотел бы заполнить данными из другой таблицы:

CREATE TABLE "ANSWERS" ("_id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL ,
"ID_QUESTION" INTEGER,"DATE_INS" DATETIME DEFAULT 
(CURRENT_DATE) , "ANSWER" INTEGER)
4b9b3361

Ответ 1

явно указывать имя столбца в предложении INSERT,

INSERT INTO destinationTable (risposta, data_ins)
SELECT STATUS risposta, DATETIME('now') data_ins 
FROM   sourceTable

Ответ 2

Вы можете указать, в какие столбцы вы вставляете. Предполагая, что столбец _id autoincrement, и вы вставляете два других столбца, вы можете иметь что-то вроде этого:

insert into MYTABLE2 (riposta, data_ins)
select STATUS risposta, DATETIME('now') data_ins from  MYTABLE 2

Ответ 3

Это может помочь, запрос из одной таблицы в другую, а также проверить, существует ли уже выбранный столбец (id) в другой таблице.

SQLite QUERY:

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();