Hip*_*i0n 24 python database sqlite
我试图在我的Python3k程序中得到rowcount
一个sqlite3
cursor
,但我很困惑,因为rowcount
它始终是-1
,尽管Python3文档说(实际上它是矛盾的,它应该是None
).即使在取出所有行之后,rowcount
仍然留在-1
.这是一个sqlite3
错误吗?我已经检查过表中是否有行.
我可以绕过这个检查,如果一个fetchone()
返回不同的东西None
,但我认为这个问题很好讨论.
谢谢.
小智 16
cursor = newdb.execute('select * from mydb;')
print len(cursor.fetchall())
Run Code Online (Sandbox Code Playgroud)
fetchall()将返回select返回的行列表.该列表的Len将为您提供行数.
我建议不要"检查fetchone()是否返回与None不同的东西",而是建议:
cursor.execute('SELECT * FROM foobar')
for row in cursor:
...
Run Code Online (Sandbox Code Playgroud)
这只是sqlite
-only(在其他DB API实现中不支持),但非常方便的sqlite
特定Python代码(并且完整记录,请参阅http://docs.python.org/library/sqlite3.html).
可以这样计算行数:
print cur.execute("SELECT COUNT(*) FROM table_name").fetchone()[0]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36284 次 |
最近记录: |