@MrSel
Изучаю все по немного. Живу в Пекине

Ошибка table X has Y columns but Z values were supplied. Как исправить?

import sqlite3

db = sqlite3.connect('Account.db')
sql = db.cursor()

sql.execute("""CREATE TABLE IF NOT EXISTS oooaaa (
    id INT PRIMARY KEY,
    mukaka TEXT
)""")

mukaka = '123'

sql.execute(f"SELECT mukaka FROM oooaaa WHERE mukaka = '{mukaka}'")
if sql.fetchone() is None:
    sql.execute(f"INSERT INTO oooaaa VALUES (?)",(mukaka))
    db.commit()
    print('Мукака добавлен')
else:
    print("Такой мукака уже имеется")

Выдает ошибку
sql.execute(f"INSERT INTO oooaaa VALUES (?)",(mukaka))
sqlite3.OperationalError: table oooaaa has 2 columns but 1 values were supplied

Хочу сделать чтобы id сам каждый раз увеличивался
  • Вопрос задан
  • 3196 просмотров
Решения вопроса 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
У вас в таблице 2 колонки. То есть, вам нужно передать 2 параметра, а вы передаете 1.
Можно так:
sql.execute(f"INSERT INTO oooaaa VALUES (?,?)",('тут любой id',mukaka))

PS: id - принято называть уникальное значение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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