Как проверить есть ли пользователь в sql таблице?

Пока что код проверки выглядит так:

info_user_to = cursor.execute(""" SELECT * FROM expenses WHERE name IN '%s'""" % (user_to))

If info_user_to:
   print('Это имя уже занято.')
else:
   print('Ок.')

Каждый раз программа выдаёт ошибку: no such table: <Имя пользователя, который я ввёл>


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

Автор решения: MyNameIsKitsune
SELECT * FROM expenses WHERE name='%s'

Если только одно условие, то используй формулировку выше

Оператор IN - это сокращение для нескольких OR или когда нужно несколько WHERE

→ Ссылка
Автор решения: Alex Titov
  1. =, а не IN, как уже сказано
  2. Подстановка через ?, чтобы защититься от всяких SQL INJECTIONS, да и вообще удобнее, когда будет больше параметров
  3. Проверяем, что rowcount не ноль, а объект результата (это, собственно, сам курсор) возвращается всегда и он всегда True

cursor.execute("SELECT * FROM expenses WHERE name=?", [user_to])

if cursor.rowcount:

→ Ссылка
Автор решения: kredo403
info_user_to = cursor.execute("SELECT * FROM expenses WHERE name = " + 
str(user_to)).fetchall()

If len(info_user_to) > 0:
   print('Это имя уже занято.')
else:
   print('Ок.')
→ Ссылка