pymysql cursor.fetchall() 獲取不到數據的問題


1.之前的寫法(不報錯):
data = cursor.fetchall()
data_name = data[0]['task_type']



2.簡潔的寫法(報錯):
data = cursor.fetchall()[0]['task_type']

用 2 的寫法報錯之后,一度懷疑是數據庫出了問題。不服氣用pycharm 的watch功能進行調試,更是錯上加錯。

 

 

錯誤原因:

cursor.fetchall() 相當於從數據庫取數據,但是取完就沒有了,再下一行繼續 cursor.fetchall(),取到的就只是空列表。他和變量不一樣,不能重復查詢,推薦第一種寫法,將數據取出來之后,放到一個變量里,再進行處理。

用watch 功能更是添亂。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM