sqlite3 Python: function takes exactly 2 arguments (3 given)

При работе с sqlite3 на Python, возникла вот такая вот ошибка, что я якобы передаю 3 аргумента, а указываю 2.

Ошибка

import sqlite3

conn = sqlite3.connect('mydb.db')
c = conn.cursor()

title = [['Приехали гости'], ['Уехали гости']]
img = [['url=1'], ['url=2']]

def add_db(title, img):
    c.executemany("INSERT INTO Article(title, img) VALUES (?, ?)", title, img)

add_db(title, img)
conn.commit()
conn.close()

Если же я передаю один аргумент для одного столбца, то все нормально записывается в БД без ошибок.

def add_db(title):
    c.executemany("INSERT INTO Article(title) VALUES (?)", title)

add_db(title)

Пожалуйста, подскажите, в чём может быть проблема?


Ответы (1 шт):

Автор решения: CrazyElf

Если я правильно помню, множественные аргументы нужно передавать кортежем:

c.executemany("INSERT INTO Article(title, img) VALUES (?, ?)", (title, img))
→ Ссылка