2017-04-22 1 views
0

SQLite에 INSERT TOP (...) 문이 있습니까? 다음 문제 :sqlite의 맨 위에 삽입하는 방법? LIMIT가 작동하지 않습니다

  1. 나는 5 열
  2. 있는 테이블 내가 다른 테이블
  3. 에서 5 개 4 열을 삽입 만들 수는 지금은 세 번째 테이블에서 5 번째 열을 삽입 할

코드 5 열에 대한 INSERT는 새로운 행을 추가하고 값은 위에서 열을 채우지 않습니다.

co.execute('''CREATE TABLE newtable1 (column1 text, column2 int, column3 int, column4 text,column5 text)''') 
co.execute('''INSERT INTO newtable1 (column1, column2, column3, column4) SELECT column1a, column2a, column3a, column4a FROM db1''') 
c.commit() 


co.execute('''INSERT INTO newtable1 (column5) SELECT newColumn FROM db2''') 
c.commit() 

은 내가 LIMIT을 시도

co.execute('''INSERT INTO newtable1 (column5) SELECT TOP (9999) newColumn FROM db2''') 

처럼 뭔가를 찾고 있어요,하지만 다시 9999 여분의 행을 생성합니다.

co.execute('''INSERT INTO newtable1 (column5) SELECT newColumn FROM db2 LIMIT 9999''') 

도움을 주셔서 대단히 감사합니다.

답변

0

당신은 생성 된 행에 UPDATE를 사용해야

업데이트 TABLE_NAME SET의 컬럼 1 = 값 1, 2 열 값 2 = .... = columnN 값 N WHERE [조건];

또는 나는이 밖으로 시도

INSERT INTO newtable1 (column1 , column2, column3, column4, column5) SELECT column1a, column2a, column3a, column4a , newColumn FROM db1, db2 
+0

시작부터 INSERT : UPDATE newtable1 세트 COLUMN5을 = COLUMN5가 null (DB2와 newColumn를 선택) 는하지만 단지로, 모든 행을 채우기 않습니다 newColumn의 첫 번째 항목입니다. row1의 newColumn과 row2의 newColumn의 두 번째 값이 필요합니다. ... –

+0

INSERT INTO newtable1 (column1, column2, column3, column4, column5) SELECT column1a, column2a, column3a, column4a, newColumn from db1, db2 –

관련 문제