Найти - Пользователи
Полная версия: sqlite вставка одиночного значения
Начало » Базы данных » sqlite вставка одиночного значения
1
Zubchick
    conn  = sqlite3.connect(name)
cur = conn.cursor()

cur.execute("""
create table Department
(Department_ID integer primary key AUTOINCREMENT,
Name text);
""")


department_data = (u'Бухгалтерия', u'Строительный отдел',
u'Отдел снабжения', u'Плановый отдел',
u'Кадровый отдел')

cur.executemany("insert into Department(Name) values (?)", department_data))
cur.commit()

ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 11 supplied.
Как мне сделать вставку в справочник с двумя полями, одно из которых автоинкрементное? Ума не приложу, подскажите :)
Zubchick
ха…

сработало вот так
    for i in department_data:
cur.execute("insert into Department(Name) values (?)", (i,))
Lexander
По идее, вот так должно сработать.
Я код не проверял, но смысл в том, что каждый из элементов department_data должен быть отдельным tuple.
Т.е. именно то, что ты сделал в цикле, когда написал (i, ).
    department_data = [(u'Бухгалтерия', ), (u'Строительный отдел', ),
(u'Отдел снабжения', ), (u'Плановый отдел', ),
(u'Кадровый отдел', )]

cur.executemany("insert into Department(Name) values (?)", department_data))
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