Why do I get nothing when I execute cursor.fetchall() twice after a cursor.开发者_如何学Cexecute()? Is there anyway of preventing this from happening? Do I need to store the information on a variable? Is it suppose to work this way?
fetchall
does what it says--it fetches all. There's nothing left after that. To get more results, you'd need to run another query (or the same query again).
From the python db-api 2.0 specification:
cursor.fetchall() Fetch all (remaining) rows of a query result, returning them as a sequence of sequences (e.g. a list of tuples). Note that the cursor's arraysize attribute can affect the performance of this operation. cursor.fetchone() Fetch the next row of a query result set, returning a single sequence, or None when no more data is available. [6]
精彩评论