我有下面的代码,在那里我试图遍历一个元组:无法遍历元组列表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