Как исправить sqlite3.OperationalError: near ")": syntax error?
Не могу исправить ошибку, перепробовал все методы.
Код:
@disnake.ui.button(label='Покинуть', custom_id='leave')
async def button3(self, button: disnake.ui.Button, interaction: disnake.Interaction):
if cur.execute(f'SELECT id FROM database_users WHERE id = {interaction.user.id}').fetchall():
await interaction.response.send_message('✅ Вы успешно покинули клоз!', ephemeral=True)
role = cur.execute(f'SELECT role FROM database_users WHERE id = {interaction.user.id}').fetchone()
cur_roles.execute(f'UPDATE database_roles SET {role} = ? WHERE {role} = ?', (False, True))
db_roles.commit()
cur.execute(f'DELETE FROM database_users WHERE id = {interaction.user.id}')
db.commit()
else:
await interaction.response.send_message('❌ Вы не являетесь участником клоза!', ephemeral=True)
Ошибка:
Ignoring exception in view <DefaultButtons timeout=None children=3> for item <Button style=<ButtonStyle.secondary: 2> url=None disabled=False label='Покинуть' emoji=None row=None>:
Traceback (most recent call last):
File "PycharmProjects\KlozBot\.venv\Lib\site-packages\disnake\ui\view.py", line 385, in _scheduled_task
await item.callback(interaction)
File "PycharmProjects\KlozBot\cogs\kloz-main.py", line 182, in button3
cur_roles.execute(f'UPDATE database_roles SET {role} = ? WHERE {role} = ?', (False, True))
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: near ")": syntax error
Ответы (1 шт):
Автор решения: DiSk
→ Ссылка
Когда вы используете execute правильно, указывайте параметры.
cur.execute(f'SELECT id FROM database_users WHERE id = ?', (interaction.user.id, )).fetchall()