Попытался связать бота в телеграм с базой данных, но возникла проблема с её заполнением. Информация в БД не обновляется, скорее всего это связано с тем, что заполнение происходит с теле функции, поэтому это никак на неё не влияет. Как можно избежать данной проблемы? Ниже прилагаю отрывок кода:
cursor = conn.cursor(buffered=True)
def get_name(message):
add_newuser=("INSERT INTO user (id, nickname) VALUES (%(reg_id)s, %(nickname)s)")
data_newuser={
'reg_id' : message.from_user.id,
'nickname' : message.text,
}
global cursor
cursor.execute(add_newuser, data_newuser)
Благодарю за помощь.
Решение: после выполнения всех запросов по изменению БД вызвать метод commit()
у объекта соединения (не курсора). Если же Вы хотите менять БД сразу после любого запроса, то после создания соединения conn
вызовите conn.autocommit(True)
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть таблица , в нем current_timestamp , ну и данные получаются вот так