请有人帮忙,我不能相信我没有得到正确的选择。我试图计算我在mysql数据库中的行数。正确的数字是7,但是每次执行以下命令时,我都会得到-1的答案。连接已成功建立。我正在使用python 3.4.4
import mysql.connector
config = {
'user': 'root',
'password': '',
'host': '127.0.0.1',
'database': 'test'
}
cnx =mysql.connector.MySQLConnection(**config)
if cnx.is_connected():
print('Connected to MySQL database')
cursor = cnx.cursor()
cursor.execute("SELECT * FROM test")
numrows = int (cursor.rowcount)
print(numrows)
根据文档:
对于非缓冲游标,在获取行之前无法知道行数。在这种情况下,查询执行后,行数立即为-1,并且随着行数的获取而增加。
这意味着,为了.rowcount
在这种情况下起作用,您必须先获取结果。
cursor.execute("SELECT * FROM test")
rows = cursor.fetchall()
numrows = int(cursor.rowcount)
当然,您也可以获取rows
列表的长度。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句