Ошибка в боте - table users has 5 columns but 2 values weresupplied

я писал бота для економики и у меня ошибка: Command raised an exception:OperationalError: table users has 5 columns but 2 values weresupplied

создания бд:

@bot.event
async def on_ready():
    await bot.change_presence(status=discord.Status.online, 
    activity=discord.Game("модерирую"))
    print(f'--- акаунт бота  ---')
    print('')
    print(f'акаунт: {bot.user.name}')
    print(f'id: {bot.user.id}')
    print('')
    print(f'--- акаунт бота  ---')
    print('')

    cursor.execute("""CREATE TABLE IF NOT EXISTS users (
        name TEXT,
        id INT,
        cash BIGINT,
        rep INT,
        lvl INT,
        ver INT
    )""")

код где ошибка:

@bot.command()
async def addbalance(ctx):
    if cursor.execute(f"SELECT id FROM users WHERE id = {ctx.author.id}").fetchone() is None:
           cursor.execute(f"INSERT INTO users VALUES ('{ctx.author}',{ctx.author.id, 0, 0, 0, 1})")
           db.commit()
           await ctx.send(embed=discord.Embed(title=f'{ctx.author.mention} ваш баланс официально одкрит!'))

    else:
        await ctx.send(embed=discord.Embed(title=f'{ctx.author.mention} У вас уже аткритий балас!'))

ошибка в строке:cursor.execute(f"INSERT INTO users VALUES ('{ctx.author}',{ctx.author.id, 0, 0, 0, 1})") смысле ето команды что добавить пользователя в бд?может ктото знает как ето ришить если да то помогите пожалуйста!зарание спасибо!


Ответы (1 шт):

Автор решения: RTXAuSIDE

Потому что вы продолжаете указывать 2-ой объект для таблицы.

if cursor.execute(f"SELECT id FROM users WHERE id = {ctx.author.id}").fetchone() is None:
    cursor.execute(f"INSERT INTO users VALUES ('{ctx.author}',{ctx.author.id}, 0, 0, 0, 1)")
→ Ссылка