psycopg2: insert multiple rows with one query에 따르면 executemany 대신 psycopg2의 execute을 사용하는 것이 훨씬 더 효율적입니다. 다른 사람들도 확인할 수 있습니까?psycopg2를 사용하여 여러 행 삽입
INSERT INTO table VALUES (value1, value2), (value3, value4)
는 일반 execute 기능을 사용하여 이러한 문을 생성 할 수 있습니다 :
위의 StackOverflow의 질문은 종류의 문장을 만들기위한 mogrify를 사용하여 제안? 나는 형식의 무엇인가를 생각했다.
cursor.execute("""INSERT INTO table VALUES (%s, %s), (%s, %s)""", ((value1,value2),(value3,value4)))
.
업데이트 : folowing 튜플과
insert into history (timestamp) values (%s),(%s);
:
예를 들어, 나는 내가 SQL 문을 실행에 통과 시도
(('2014-04-27 14:07:30.000000',), ('2014-04-27 14:07:35.000000',))
을 제외한 모든 난 다시 오류였다있어 :
no results to fetch
처음 시도하지 않으셨습니까? –
다중 값 삽입은 psyopop2의'executemany'보다 훨씬 효율적입니다. 한 문장까지만 수십 개의 행을 삽입하면 메모리 사용이 문제가됩니다. 수백 또는 수천 쌍의 행 (행이 작 으면)은 좋을 수 있습니다. –