반응형
공식 MySQL 커넥터에서 원하는 출력을 가져올 수 없습니다.
Python을 사용하여 MariaDB에 연결합니다.최근에 PyMy에서 전환했습니다.이 페이지에서 네이티브 커넥터에 대한 SQL을 사용해도 다음과 같은 간단한 코드를 사용할 수 없습니다.
a = mysql.connect(host='127.0.0.1', port=3306, user='root', db='db', passwd='1337')
b = a.cursor()
b.execute('SELECT * FROM accounts', multi=True)
b.execute('SELECT * FROM profile', multi=True)
print(b.fetchall())
a.commit()
모든 행이 인쇄될 줄 알았는데profile
테이블은 어떤 이유로든 표시되지 않고 다음 오류와 함께 종료됩니다.
Traceback (most recent call last):
File "<file>", line 142, in <module>
print(b.fetchall())
File "/usr/local/lib/python3.3/dist-packages/mysql/connector/cursor.py", line 676, in fetchall
raise errors.InterfaceError("No result set to fetch from.")
mysql.connector.errors.InterfaceError: No result set to fetch from.
를 사용하고 있는 경우는,multi=True
파라미터,cursor.execute()
method는 결과를 얻기 위해 사용해야 하는 반복 가능한 개체를 반환합니다.문서의 섹션 8.3.4에 사용 예가 있습니다.
단, 예를 들어...와 같은 여러 문을 단일 쿼리에서 실행하는 경우에만 이 명령을 사용해야 합니다.
iterable = b.execute('SELECT * FROM accounts; SELECT * FROM profile', multi=True)
for item in iterable:
print(item.fetchall())
...단, 이것은 PEP 249에 대한 비표준 확장입니다.
쿼리를 1개만 실행하면 되는 경우,multi
인수...
b.execute('SELECT * FROM profile')
print(b.fetchall())
PEP 249에 준거하고 있습니다.
언급URL : https://stackoverflow.com/questions/17495190/cant-get-the-desired-output-in-the-official-mysql-connector
반응형
'programing' 카테고리의 다른 글
다음 MYSQL Entry를 주문에 머무르게 하다 (0) | 2022.10.02 |
---|---|
실적 시스템을 코드화하는 최선의 방법 (0) | 2022.10.01 |
C#을 사용한 MariaDB 데이터베이스 쿼리 (0) | 2022.10.01 |
다국어 베스트 프랙티스 웹사이트 (0) | 2022.10.01 |
Java에서 finalize() 메서드는 언제 호출됩니까? (0) | 2022.10.01 |