Как сделать проверку на наличие уже зарегистрированного пользователя mysql, python?

Делал по своему старому коду, но почему-то не удаётся корректно обработать, вот код:

    try:
        enter = f'SELECT * FROM user_logs WHERE user_id = {user_id}'
        if enter == 0:
            insert_query = "INSERT INTO `user_logs` (`user_id`, `verification`, `balance`) VALUES (%s, %s, %s)"
            cursor.execute(insert_query, (user_id, verification, balance))
            conn.commit()
            print('good!')
        else:
            print('Вы уже зарегистрированы!')
    except Exception as exc:
        print(exc)


try:
    cursor = conn.cursor()

except Exception as ex:
    print(ex)

create_log('ttt', 't', 1011000)

В консоль выводит:

Вы уже зарегистрированы!

Кто знает решение проблемы, помогите пожалуйста!


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

Автор решения: Vladimir Ignatenko

В переменной enter у вас строка с SQL запросом. А не результат выполнения этого запроса. Да и сам запрос не очень корректный.

Т.е. должно быть что-то вроде

#считаем число записей у которых user_id содержит указанное значение
sql = "SELECT COUNT(*) FROM user_logs WHERE user_id = %s"
cur = conn.cursor()
cursor.execute(sql, (user_id))
#получаем число найденных записей
enter = cursor.fetchone()[0]
→ Ссылка