Как сделать проверку на наличие уже зарегистрированного пользователя 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]