Как добавить в одну колонну SQLite несколько значений?
Допустим, есть колонка с названием id и нужно туда поместить 2 переменные, но когда пытаюсь внести вторую, система не запоминает. Код, если нужен:
user_id = [(0002)]
users_id = [(01)]
def table_os():
con = sqlite3.connect('/py/kess.sqlite')
cur = con.cursor()
cur.execute('INSERT INTO userlevent (id) VALUES (?)', (user_id))
con.commit()
cur.close()
con.close()
После того как я внес user_id, меняю на users_id, запускаю но выводит все-же user_id.
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Чтобы список добавить в запрос можно использовать цикл, например:
import sqlite3
def table_os():
users_id = [1, 2, 3]
con = sqlite3.connect('/py/kess.sqlite')
cur = con.cursor()
for user_id in users_id:
cur.execute('INSERT INTO userlevent (id) VALUES (?)', [user_id])
con.commit()
cur.close()
con.close()
А лучше использовать не execute, а executemany:
import sqlite3
def table_os():
# Список кортежей на один элемент
users_id = [(1,), (2,), (3,)]
# Или список списков: [[1], [2], [3]]
con = sqlite3.connect('/py/kess.sqlite')
cur = con.cursor()
cur.executemany('INSERT INTO userlevent (id) VALUES (?)', users_id)
con.commit()
cur.close()
con.close()