Каким образом я могу заставить свой код, записывать значение в базу данных на того пользователя, на строку того пользователя который зарегистрирован?

Добрейшего дня. Сможете ли вы мне подсказать краткий концепт-код, как мне можно проверять человека в базе данных а после записывать его в его строку все необходимые данные. Свой концепт, без данного кода-вопроса представляю ниже. Данный код сделан для телеграмм бота на базе aiogram.

И так, на данный момент мой концепт. Человек отправляет боту команду /start. Бот следующим кодом записывает его уникальный id:

    await bot.send_message(message.from_user.id, message.from_user.first_name)
    print(message.from_user.id)
    try:
        teled = message.from_user.id
        start_sql = "INSERT INTO users (teleid) VALUES (%s)"
        tupe = teled
        conn = await aiomysql.connect(host='localhost', port=3306, user='root', password='*******', db='aiodb',
                                      loop=loop)
        cur = await conn.cursor()
        await cur.execute(start_sql, tupe)
        print("yes")
        await conn.commit()
    except Error as e:
        print('але, сударь, у вас ошибка по бд')

И так, когда человек записан в базу данных, я иду к своей главной головной боли. Следующий код должен записать имя человека в базу данных:

    @dp.message_handler()
    async def names(message: types.Message):
        mes = message.text
        if mes == "⚡️ Назад":
            return

        else:
            start_sql = "INSERT INTO users (name) VALUES (%s)"
            messg = mes
            conn = await aiomysql.connect(host='localhost', port=3306, user='root', password='******', db='aiodb',
                                          loop=loop)
            cur = await conn.cursor()
            await cur.execute(start_sql, messg)
            print("yes")
            await conn.commit() 
            #сделал без цикла try/except пока что

И с этого кода начинается проблема. MySQL не собирается (как и мой код) записывать имя человека в нужную строку. Вместо этого он пытается создать новую строку, и записать туда значение имени.

Буду благодарен за любую помощь!

aiogram - 2.19

PyMySql - 0.9.3

Python - 3.10


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