2013-08-20 4 views
1

테이블에 2 개의 문자열을 추가하려고합니다.1 개의 테이블에 여러 개의 문자열 삽입

내 삽입 문은 다음과 같습니다

INSERT INTO "State" 
     (state, relevant_id) 
     VALUES (%s, %s) """, state_values, relevant_id 

내가 너무 많은 인수를 공급하고 있기 때문 작동하지 않습니다. Relevant_id는 정수를 보유하는 변수이고 state_values는 relevant_id에 속하는 값입니다.

2 개의 다른 변수에서 오는 두 문자열을 모두 삽입 할 수 있습니까? 파이썬으로 코딩하고 포스트그레스를 db로 사용하고 있습니다.

답변

2

당신은 execute에 두 번째 인수에 튜플로 쿼리 매개 변수를 전달해야한다 :이 방법으로 그것을 할 경우

cursor.execute("""INSERT INTO 
         State 
         (state, relevant_id) 
        VALUES 
         (%s, %s);""", 
       (state_values, relevant_id)) 

, 당신은 또한 무료로 SQL 주입을 방지하기 위해 탈출거야.

희망이 있습니다.

+0

나는 전체 코드를 거기에 넣지 않았지만 위의 코드는 cursor.execute 함수를 감싸고 있다고 생각한다. – nlr25

+0

글쎄, 내가했던 것처럼 튜플에 매개 변수를 넣지 않았다고 생각해. 확인해주십시오. – alecxe

+0

네 말이 맞아. 미안 튜플 구문을 잡지 않았다. 당신의 도움을 주셔서 감사합니다. 너는 그것을 해결한다. – nlr25

관련 문제