我正在尝试运行一些MySQL查询并在我的Python程序中输出结果。我创建了这个被调用的函数,并且光标被传递通过。但是,我遇到了一个问题,即运行以下代码将始终返回None
/ nothing。
这就是我所拥有的:
def showInformation(cursor):
number_rows = 'SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = "DB"'
testing = cursor.execute(number_rows)
print(testing)
使用cursor
对象本身时,我不会遇到任何问题:
for row in cursor:
print(row)
答案 0 :(得分:1)
我想你需要:
print(cursor.fetchone())
因为你只返回一个计数,所以你期望一行。
除非根据mysql documentation指定execute
,否则调用multi=True
不应返回任何内容。程序员只能像你一样迭代cursor
,或者调用fetchone
来检索一行或调用fetchall
来检索所有行,或者调用fetchmany
来检索一些行。< / p>