文件首頁
MySQL Connector/Python 開發人員指南
相關文件 下載本手冊
PDF (美式信紙) - 0.7Mb
PDF (A4) - 0.7Mb


10.6.1 cursor.MySQLCursorBuffered 類別

MySQLCursorBuffered 類別繼承自 MySQLCursor

執行查詢後,MySQLCursorBuffered 游標會從伺服器擷取整個結果集並緩衝處理這些資料列。

對於使用緩衝游標執行的查詢,諸如 fetchone() 等資料列擷取方法會從已緩衝處理的資料列集中傳回資料列。對於非緩衝游標,除非呼叫資料列擷取方法,否則不會從伺服器擷取資料列。在這種情況下,您必須確保在同一個連線上執行任何其他陳述式之前擷取結果集的所有資料列,否則會引發 InternalError (找到未讀取結果) 例外。

在需要將多個具有小型結果集的查詢結合或互相計算的情況下,MySQLCursorBuffered 可能會很有用。

若要建立緩衝游標,請在呼叫連線的 cursor() 方法時使用 buffered 引數。或者,若要使從連線建立的所有游標預設為緩衝,請使用 buffered 連線引數

範例

import mysql.connector

cnx = mysql.connector.connect()

# Only this particular cursor will buffer results
cursor = cnx.cursor(buffered=True)

# All cursors created from cnx2 will be buffered by default
cnx2 = mysql.connector.connect(buffered=True)

如需實際使用案例,請參閱第 6.1 節,「教學課程:使用緩衝游標來提高員工薪資」