MySQL Connector/Python 版本資訊
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 節,「教學課程:使用緩衝游標來提高員工薪資」。