获取的行值错误
Wrong value of row obtained
我正在使用 python.mysql
连接器访问 MySQL table。
MySQL 数据库有一个 table policy_data
,它有几列,其中一列是 application_no
。
application_no
列的值采用 t000...
形式,共 8 位数字,包括 t
.
理想情况下,application_no
列的第一个值是 t0000001
。
所以我传递了一个命令(来自Python):
cursor.execute(select* application_no from policy_data where...(some condition)
data = cursor.fetchall()
appl = data[0][0] # this should give me 't0000001'
问题是:我在 MySQL 上尝试了上面的命令,它给了我 t0000001
。但是从 Python (上面的代码)来看,值 (appl=data[0][0]
) 是 t
.
我什至尝试将接收到的值放入str()
,但它仍然不起作用。
如果我理解正确,你的 SQL 查询 returns 字符串列表。通过
aapl=data[0][0]
你抓取第一个字符串,然后是它的第一个字符 't'
也许给
aapl=data[0]
一试
data=cursor.fetchall()
returns 元组列表(table 的每一行一个元组)
appl=data[0][0]
return是第一个元组的第一个元素,即查询结果中第一行第一列的值。
鉴于此,如果列 'application_no'
在您的查询结果中排在第二位(正如您在查询中使用 * 一样),您将使用 data[i][1][ 获得此列的值=15=]
因此,如果您检查 aapl=data[0][1]
,它会 return 您想要的输出 't0000001'
我正在使用 python.mysql
连接器访问 MySQL table。
MySQL 数据库有一个 table policy_data
,它有几列,其中一列是 application_no
。
application_no
列的值采用 t000...
形式,共 8 位数字,包括 t
.
理想情况下,application_no
列的第一个值是 t0000001
。
所以我传递了一个命令(来自Python):
cursor.execute(select* application_no from policy_data where...(some condition)
data = cursor.fetchall()
appl = data[0][0] # this should give me 't0000001'
问题是:我在 MySQL 上尝试了上面的命令,它给了我 t0000001
。但是从 Python (上面的代码)来看,值 (appl=data[0][0]
) 是 t
.
我什至尝试将接收到的值放入str()
,但它仍然不起作用。
如果我理解正确,你的 SQL 查询 returns 字符串列表。通过
aapl=data[0][0]
你抓取第一个字符串,然后是它的第一个字符 't' 也许给
aapl=data[0]
一试
data=cursor.fetchall()
returns 元组列表(table 的每一行一个元组)
appl=data[0][0]
return是第一个元组的第一个元素,即查询结果中第一行第一列的值。
鉴于此,如果列 'application_no'
在您的查询结果中排在第二位(正如您在查询中使用 * 一样),您将使用 data[i][1][ 获得此列的值=15=]
因此,如果您检查 aapl=data[0][1]
,它会 return 您想要的输出 't0000001'