获取的行值错误

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'