@panamboor

Sqlite3 python (почему переменная записывается со скобкой и запятой ). Код предоставляю ниже?

def post_sql_query(sql_query):
    with sqlite3.connect('user_info.db') as connection:
        cursor = connection.cursor()
        try:
            cursor.execute(sql_query)
        except Error:
            pass
        result = cursor.fetchall()
        return result


def create_tables():
    users_query = '''CREATE TABLE IF NOT EXISTS USERS 
                        (user_id INTEGER PRIMARY KEY NOT NULL,
                        username TEXT,
                        reg_date TEXT,
                        balance INTEGER);'''
    post_sql_query(users_query)


def register_user(user, username,balance):
    user_check_query = f'SELECT * FROM USERS WHERE user_id = {user};'
    user_check_data = post_sql_query(user_check_query)
    if not user_check_data:
        insert_to_db_query = f'INSERT INTO USERS (user_id, username, reg_date, balance) VALUES ({user}, {username}, {ctime()},{balance});'
        print(insert_to_db_query)
        post_sql_query(insert_to_db_query)


#conn = sqlite3.connect('user_info.db')
#balance = conn.execute( f"select balance from USERS where user_id={message.from_user.id}").fetchone()
#print(balance)
#выводит (1000,)
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
ZIK1337
@ZIK1337
Потому что fetchone возвращает кортеж, который вы и записываете в переменную
Измените на
balance = conn.execute( f"select balance from USERS where user_id={message.from_user.id}").fetchone()[0]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы