Кажется, здесь есть несколько неправильных вещей.
Формат принимает переменную внутри {} ... например {0}, {1} и т. Д.
Заполнители являются предпочтительным маршрутом длявозьмите с форматированием SQL-запросов ... как вы делали в SELECT
Я не уверен, в чем проблема, но если вы пытаетесь добавить столбцы, вам нужно изменить таблицу ... не вставлять.INSERT добавит элемент строки.Если вы можете опубликовать ошибку, возможно, мы можем помочь немного больше.Для начала попробуйте заполнители вместо формата.
Кроме того, fetchall возвращает список кортежей ... необходимо отправить кортеж в sql, а не список.
for x in results:
c.execute("INSERT INTO ? (col1, col2, col3) VALUES (1, 2, 3);", x)
Редактировать:
Я исправлен - я запустил этот код:
data = [('user',)]
cursor.execute("INSERT INTO ? (id, email, password) VALUES (1, test, test);", data)
синтаксическая ошибка, поскольку вы не можете добавить заполнитель к имени таблицы.Прочитайте здесь
Я использовал формат с {0}:
cursor.execute("INSERT INTO {0} (id, email, password) VALUES (1, test, test);".format('user'))
Запрос был успешным.Я считаю, что это ваша проблема здесь.