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 功能更是添亂。