Python + MySQL Не происходит заполнение БД

104
07 февраля 2022, 03:20

Попытался связать бота в телеграм с базой данных, но возникла проблема с её заполнением. Информация в БД не обновляется, скорее всего это связано с тем, что заполнение происходит с теле функции, поэтому это никак на неё не влияет. Как можно избежать данной проблемы? Ниже прилагаю отрывок кода:

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)

Благодарю за помощь.

Answer 1

Решение: после выполнения всех запросов по изменению БД вызвать метод commit() у объекта соединения (не курсора). Если же Вы хотите менять БД сразу после любого запроса, то после создания соединения conn вызовите conn.autocommit(True).

READ ALSO
Порядок отображения current_timestamp

Порядок отображения current_timestamp

Есть таблица , в нем current_timestamp , ну и данные получаются вот так

101
else if() Почему именно так?

else if() Почему именно так?

Чем конструкция

117