복붙노트

[SQL] 에서 테이블을 선택 *에 SQLite는 삽입

SQL

에서 테이블을 선택 *에 SQLite는 삽입

내 안드로이드 응용 프로그램에서 다른 하나 개의 테이블에서 데이터를 이동해야

나는 다음과 같은 SQL을 사용하고 싶습니다 :

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

불행하게도 테이블 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)

해결법

  1. ==============================

    1.명시 적으로 INSERT 절에 열 이름을 지정,

    명시 적으로 INSERT 절에 열 이름을 지정,

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

    2.당신은 당신에 삽입하고 열을 지정할 수 있습니다. _id 열이 자동 증가이라고 가정하고 다른 두 개의 열을 삽입하고, 다음과 같이 할 수 있습니다 :

    당신은 당신에 삽입하고 열을 지정할 수 있습니다. _id 열이 자동 증가이라고 가정하고 다른 두 개의 열을 삽입하고, 다음과 같이 할 수 있습니다 :

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

    3.선택한 열 (ID)가 이미 다른 테이블에 존재하는 경우,이 힘의 도움, 다른 한 테이블에서 쿼리 또한 확인합니다.

    선택한 열 (ID)가 이미 다른 테이블에 존재하는 경우,이 힘의 도움, 다른 한 테이블에서 쿼리 또한 확인합니다.

    SQLite는 QUERY :

    INSERT INTO MYTABLE2(id,data_ins ) 
    SELECT id, data_ins FROM MYTABLE2
    WHERE id NOT IN ( SELECT id FROM MYTABLE1)
    

    기계적 인조 인간:

     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();
    
  4. from https://stackoverflow.com/questions/16838896/sqlite-insert-into-table-select-from by cc-by-sa and MIT license