我有一个非常大的表(374870行),当我运行下面的代码时,时间戳只是一个值为374870的长整型。我希望能够抓取表中的所有时间戳...但是我得到的是一个很长的int :S
import MySQLdb
db = MySQLdb.connect(
                host    = "Some Host",
                user    = "SOME USER",
                passwd  = "SOME PASS",
                db      = "SOME DB",
                port    = 3306
        )
sql = "SELECT `timestamp` from `table`"
timestamps = db.cursor().execute(sql)发布于 2010-09-23 21:42:32
试试这个:
cur = db.cursor()
cur.execute(sql)
timestamps = []
for rec in cur:
    timestamps.append(rec[0])发布于 2010-09-23 21:42:44
您需要在游标上调用fetchmany()来提取多行,或者在循环中调用fetchone(),直到它返回None。
发布于 2010-09-23 22:14:02
考虑这样一种可能性:您得到的不是很长的整数就是查询结果中的行数。
考虑读取文档(PEP 249) ... (1)没有定义来自cursor.execute()的返回值;您所看到的是特定于您的数据库的,出于可移植性的考虑,不应该依赖它。(2)您需要在游标上执行results = cursor.fetch{one|many|all}()或迭代... for row in cursor: do_something(row)
https://stackoverflow.com/questions/3778935
复制相似问题