0
我在循環中遇到PyMySQL數據選擇問題。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。
如果我重新啓動我的腳本,然後它會選擇新插入的記錄id = 2,但是,如果後來我從MySQLWorkbench插入另一個紀錄是沒有找到它(除非我重新啓動我的腳本)
你能解釋一下從循環中檢索數據庫中的所有記錄?
更新:
我加入autocommit=True
參數去連接解決的問題。但是爲什麼我在做select時需要改變呢?這是正常的嗎?
讓我們瞭解一下 「事務隔離級別。」 – methane