본문 바로가기
SW 프로그래밍/Mariadb

MySQL 오류 : InternalError: Unread result found

by N2info 2023. 1. 4.

오류 코드 명

mysql.connector.errors.InternalError: Unread result found

 

해결 방법

# 기존 코드
connection = mysql.connector.connect(user="", password="", host="")
cur = connection.cursor()


# 변경 코드
connection = mysql.connector.connect(user="", password="", host="")
cur = connection.cursor(buffered=True)

 즉, cursor() 안에 buffered=True만 넣어주면 이 오류는 해결된다.

 

부연 설명

본인의 경우 이 오류는 데이터를 입력하고자 할 때,
즉 cur.execute("INSERT ~~")와 같은 명령어를 실행하고자 할 때 발생했다.

* SELECT할 때도 발생하는 경우도 있다고 함. 그 경우의 문제 해결 방법은 아래를 참조
[한 줄 요약] fetchone 하지 말고 fetchall로 불러와서 하나씩 해결해라.
pythonq.com/so/python/116180


다시 본론으로 돌아와서, 본인은 INSERT 시에 문제가 발생했다.
그에 따라 MySQL 공식 홈페이지(dev.mysql.com/)에서 검색해 본 결과,
'Buffered=True'를 추가함으로써 해결할 수 있었다.

 

 

* 상세 내용은 홈페이지 내 DOCUMENTATION 안에서 보면 됨

 

 

 

Buffered 클래스에 대한 영문 설명

 

 

앞서 첨부한 링크의 답변에서 이야기하고 있는 내용을 조금 더 구체적으로 설명하고 있다는 것을 확인할 수 있다. 즉, 하나의 쿼리를 실행한 이후 그 쿼리를 통한 값을 불러오지 않은 상태에서 다음 쿼리를 사용하게 된다면 'InternalError (Unread result found)' 오류가 발생할 수 있다는 것이다.

원본출처 : https://trustyou.tistory.com/67

 

MySQL 오류 : InternalError: Unread result found

오류 코드 명 mysql.connector.errors.InternalError: Unread result found 해결 방법 # 기존 코드 connection = mysql.connector.connect(user="", password="", host="") cur = connection.cursor() # 변경 코드 connection = mysql.connector.connect(use

trustyou.tistory.com