База данных AWS RDS MySQL не принимает инструкции INSERT из pymysql

#python #sql #amazon-web-services #pymysql

#python #sql #amazon-веб-сервисы #pymysql

Вопрос:

Итак, в принципе, как сказано в названии, я могу подключиться к ней и выполнять точно такие же запросы с помощью SQLelectron со своего компьютера (где я запускаю скрипт). Это также не выдает мне ошибок, и я могу выполнять запросы SELECT с помощью sql electron из того же скрипта. Более того, мой столбец id (для которого у меня включено авто_инкрементирование), похоже, переходит к более поздним значениям, когда я выполняю ту же инструкцию insert из sql electron, как если бы я действительно вставил строку, но на самом деле она не вставляется. Вот фрагмент кода:

             sql = ['INSERT INTO liftdb.lifts',
                   '(Date, lift, weight)',
                   'VALUES',
                   '(%s, %s, %s)']
            cur.execute(' '.join(sql), (date, event['Lift'], event['Weight']))
  

Опять же, никаких ошибок или указаний на то, что что-то пошло не так.

Ответ №1:

Если ваш код работает так, как будто произошли изменения (путем увеличения автоинкремента), но вы не можете заметить никаких изменений, это явный признак того, что вы, возможно, забыли зафиксировать изменения в базе данных. (что-то вроде cur.commit() на следующей строке вниз. Предполагая, что вы внесли изменения, также может случиться так, что любое программное обеспечение, которое вы используете для проверки того, изменилась ли база данных, может потребоваться обновить, чтобы отобразить изменения.

Комментарии:

1. Большое вам спасибо! Кстати, на самом деле это был conn.commit().