我有下面的代碼,在那裏我試圖遍歷一個元組:無法遍歷元組列表MySQLdb的
cust_list = ('138')
for cust in cust_list:
dbQuery = """
SELECT DISTINCT
c.id,
c.name,
c.email
FROM
customers c
WHERE
c.id = %s;
"""
cur1.execute(dbQuery, cust)
row = cur1.fetchone()
cust_name = row[1]
cust_email = row[2]
下表客戶包含一條記錄如下
id: 138
Name: Xoom Support
Email: [email protected]
我會期望for循環爲元組中的單個值運行一次,但相反,我得到以下錯誤:
Traceback (most recent call last):
File "/usr/local/bin/stats-test.py", line 80, in <module>
cust_name = row[1]
TypeError: 'NoneType' object has no attribute '__getitem__'
I試圖打印出產生以下結果的行:
(1L, 'Xoom Support', '[email protected]')
^^^
|
What is this??
我對於發生了什麼感到十分困惑。
錯誤是否發生在循環的第一次執行中?我的意思是,你打印的那一行是否會產生錯誤? '1L'和Long類型一起表示數字1。 – Javitronxo
@Javitronxo我認爲這是1L的意思,不知道爲什麼我得到那個。這個問題似乎與單值元組有關,如果我將元組設置爲('138','123'),則循環似乎工作正常: -/ – btongeorge