У меня возникли проблемы с выбором данных PyMySQL в цикле.
- таблица xxx содержит одну запись id = 1
Я запускаю сценарий
import pymysql import time connection = pymysql.connect(host="127.0.0.1", port=3306, user="yyy", passwd="yyy", db="yyy", charset='utf8', cursorclass=pymysql.cursors.DictCursor) while True: with connection.cursor() as cursor: sql = "select * from xxx" cursor.execute(sql) result = cursor.fetchall() print result time.sleep(5) connection.close()
Пока мой скрипт запущен, я открываю MySQLWorkbench и вставляю новую запись в таблицу xxx и т. Д. Id = 2
- Проблема: мой скрипт не печатает новую запись, он просто печатает id = 1.
Если я перезапускаю свой скрипт, он выбирает новую вставленную запись с идентификатором = 2, но если затем я вставляю другую запись из MySQLWorkbench, он не находит ее (если я не перезапускаю свой скрипт)
Не могли бы вы объяснить, как получить все записи из базы данных в цикле?
Обновление:
Я решил проблему, добавив параметр autocommit=True
в соединение. Но почему мне нужно фиксировать изменения, когда я делаю выбор? Это нормально?