Найти - Пользователи
Полная версия: executemany()
Начало » Базы данных » executemany()
1
u4upy
import sqlite3

conn = sqlite3.connect(':memory:')
conn.execute('create table test (number int)')
conn.commit()

c = conn.cursor()

c.executemany('insert into test(number) values (?)', xrange(100))
conn.commit()

conn.close()
Получаю
c.executemany('insert into test(number) values (?)', xrange(100))
ValueError: parameters are of unsupported type

Что тут неправильно?
ZZZ
xrange, это не контейнер, а генератор. Используй range.

Добавлено:

Затупил…
Ему нужен итератор или гетератор туплов. Вот:
c.executemany('insert into test(number) values (?)', ((i, ) for i in xrange(100)))
u4upy
ZZZ
c.executemany('insert into test(number) values (?)', ((i, ) for i in xrange(100)))
Работает, спасибо. Гораздо быстрее получается, чем execute() в цикле.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB