Diese Teilfunktion gegeben (und Python 2.7, mysql-connector 2.1.6):Warum würde cursor.with_rows `True` zurückgeben, aber fetch_one return` None`?
def get_target_item(self, query, key):
self._target_query.execute(query, (key,))
if self._target_query.with_rows:
raw_item = self._target_query.fetchone()
I erwartet raw_item immer nicht sein None
, aber es stellt sich heraus, dass es manchmal None
ist.
Wenn ich hinzufügen dieses:
if not raw_item:
print "Could not find find target item for query {0} and key {1}".format(query, key)
ich sehen kann dies manchmal gedruckt wird. Und wenn ich die gleiche Abfrage selbst ausführe, kann ich sehen, dass die Abfrage keine Zeilen für den angegebenen Schlüssel zurückgibt. Warum also schlägt with_rows
vor, dass es tut?