首页 > 解决方案 > 使用 mysql.connector 模块获取 MYSQL 表的值

问题描述

我正在使用 mysql.connector python 库连接到 mysql。我需要使用 pyqt5 GUI 框架在 python 程序中显示我的数据库中存在的表。

这是我试图打印出我的表格中的行数,但即使我有 3 行它显示为 0。

cursor=mydb.cursor()
command = "select * from MENU"
result = cursor.execute(command)
self.tableWidget.setRowCount(cursor.rowcount)
print(cursor.rowcount)

标签: pythonmysqlmysql-python

解决方案


那是因为你还没有从游标中获取任何东西。

正如文档所说:

对于非缓冲游标,在获取行之前无法知道行数。在这种情况下,行数在查询执行后立即为 -1,并随着行的获取而增加。

因此,要修复,您可以像这样获得光标:cursor=mydb.cursor(buffered=True)或者您可以使用results = cursor.fetchall().


推荐阅读