@arsfilinov

Не сохраняются параметры в sqlite3, что делать?

Не сохраняются параметры в sqlite3, делаю вроде все правильно. ХЕЛП!
db = sqlite3.connect('database.db')
sql = db.cursor()

sql.execute("""CREATE TABLE IF NOT EXISTS users(
	id INT
	balance BIGINT
	name TEXT)""")

db.commit()
user = vk_session.method("users.get", {"user_ids": id})
name = user[0]['first_name']
sql.execute(f"INSERT INTO users VALUES (?, ?, ?)", (id, 0, name))
db.commit()


возникает ошибка: sqlite3.OperationalError: table users has 1 columns but 3 values were supplied
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ответы на вопрос 2
Zoominger
@Zoominger Куратор тега Python
System Integrator
Пересоздайте-ка database.db.
Что-то мне подсказывает, что у вас там старая структура, где только один столбец.
И да, не помешает создать ещё столбец для PRIMARY KEY.
Ответ написан
Комментировать
@galaxy
sql.execute("""CREATE TABLE IF NOT EXISTS users(
  id INT
  balance BIGINT
  name TEXT)""")

В этом запросе запятые нужны:
CREATE TABLE IF NOT EXISTS users(
  id INT,
  balance BIGINT,
  name TEXT)


А так, да, из-за IF NOT EXISTS похоже, что осталась таблица со старой структурой и не пересоздается
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы