Как сделать запись сразу в два столбца?

Как сделать запись в БД в две колонки?
Есть два списка:

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

Надо чтобы в БД была на выходе вот такая запись:

БД

Вот код для записи одной колонки title:

import sqlite3

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

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

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

add_db()

conn.commit()

conn.close()

введите сюда описание изображения


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

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

Попробуйте так:

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

records = [x for x in zip(title, img)]

c.executemany("INSERT INTO Article(title, img) VALUES (?, ?)", records)

Метод cursor.executemany(query, records) ожидает в качестве records - коллекцию значений. В вашем случае эта коллекция должна выглядеть как список кортежей:

In [33]: records
Out[33]: [('Приехали гости', 'url=1'), ('Уехали гости', 'url=2')]

или как список списков:

In [33]: records
Out[33]: [['Приехали гости', 'url=1'], ['Уехали гости', 'url=2']]
→ Ссылка