0
루프에서 PyMySQL 데이터 선택에 문제가 있습니다. 내 스크립트 내가 MySQL 워크 벤치를 열고 등 테이블을 xxx는 새로운 기록, ID를 삽입 실행되는 동안루프에서 데이터를 선택하는 PyMySQL이 모든 레코드를 반환하지 않습니다.
- XXX 테이블을 포함하는 하나 개의 레코드 ID 내가 스크립트
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()
1
시작입니다 = = 2
- 문제점 : 스크립트가 id = 1로 인쇄되는 새 레코드를 인쇄하지 않습니다.
난 내 스크립트 그때는 새로운 삽입 된 레코드 ID = 2를 선택,하지만 난 MySQL 워크 벤치에서 다른 레코드를 삽입 한 후 경우는 (내가 내 스크립트를 다시 시작하지 않는 한)
를 어떻게 설명 할 수 그것을 찾을 수없는 다시 시작하면 루프에서 데이터베이스의 모든 레코드를 검색 하시겠습니까?
업데이트 :
나는 연결에 autocommit=True
PARAM를 추가하여 문제를 해결했다. 그러나 내가 선택을 할 때 왜 변화를 저지를 필요가 있습니까? 정상입니까?
의가에 대해 알아 보자 "트랜잭션 격리 수준." – methane