2013-08-20 6 views
1

Я пытаюсь добавить 2 строки в таблицу.Вставка нескольких строк в 1 таблицу

Моя вставка утверждение:

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

Это не работает, потому что я поставляет слишком много аргументов. Relevant_id - это переменная, которая содержит целое число, а state_values ​​- значения, относящиеся к соответствующему_id.

Есть ли способ вставить обе строки из двух разных переменных? Я кодирую в python и использую postgres как 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

Смежные вопросы