如何使用 python 在 mysql 中使用行数
how to use rowcount in mysql using python
我们正在学生记录项目中实施数据库。我们想看看从 table 中删除一行前后,table 中有多少行。
我们试过的代码如下:
1 roll=5
2 m = mysql.connector.connect(host='localhost', database='student',user='root', password='')
3 cur = m.cursor()
4 rc = cur.rowcount
5 print("%d"%rc)
6 e=cur.execute("DELETE FROM `acc_details` WHERE roll_No=%s" % roll)
7 print("%d"%cur.rowcount)
在上面的代码中,第 4 行中的第一个行数给出 -1 作为输出,最后一行中的行数给出删除行后 table 的行数。
为什么第 4 行的第一行计数输出 -1?
任何帮助都将是巨大的。
根据 psycopg2 的文档,cur.rowcount returns 同一 cur 对象的最后一个执行方法影响的行数,因此第一个 returns -1 cur.rowcount 调用,因为没有先前的 execute() 方法。
你可以试试这个-
roll=5
m = mysql.connector.connect(host='localhost', database='student',user='root', password='')
cur = m.cursor()
cur.execute("SELECT * FROM `acc_details`")
cur.fetchall()
rc = cur.rowcount
print("%d"%rc)
e=cur.execute("DELETE FROM `acc_details` WHERE roll_No=%s" % roll)
print("%d"%cur.rowcount)
包含您的代码
m.commit()
cur.close()
m.close()
如果您的代码没有这些,也许您可以添加它们。
和你的前 4 行,我认为你应该添加
cur.execute('select * from 'table_name'')
cur.fetchall()
那你就可以得到rowcount.I希望我的回答能帮到你
cursor.rowcount 将输出 -1,直到您获取了结果的所有行。除非您使用缓冲游标,否则您应该在获取实际行数之前使用 cursor.fetchall()。
我们正在学生记录项目中实施数据库。我们想看看从 table 中删除一行前后,table 中有多少行。 我们试过的代码如下:
1 roll=5
2 m = mysql.connector.connect(host='localhost', database='student',user='root', password='')
3 cur = m.cursor()
4 rc = cur.rowcount
5 print("%d"%rc)
6 e=cur.execute("DELETE FROM `acc_details` WHERE roll_No=%s" % roll)
7 print("%d"%cur.rowcount)
在上面的代码中,第 4 行中的第一个行数给出 -1 作为输出,最后一行中的行数给出删除行后 table 的行数。
为什么第 4 行的第一行计数输出 -1?
任何帮助都将是巨大的。
根据 psycopg2 的文档,cur.rowcount returns 同一 cur 对象的最后一个执行方法影响的行数,因此第一个 returns -1 cur.rowcount 调用,因为没有先前的 execute() 方法。
你可以试试这个-
roll=5
m = mysql.connector.connect(host='localhost', database='student',user='root', password='')
cur = m.cursor()
cur.execute("SELECT * FROM `acc_details`")
cur.fetchall()
rc = cur.rowcount
print("%d"%rc)
e=cur.execute("DELETE FROM `acc_details` WHERE roll_No=%s" % roll)
print("%d"%cur.rowcount)
包含您的代码
m.commit()
cur.close()
m.close()
如果您的代码没有这些,也许您可以添加它们。 和你的前 4 行,我认为你应该添加
cur.execute('select * from 'table_name'')
cur.fetchall()
那你就可以得到rowcount.I希望我的回答能帮到你
cursor.rowcount 将输出 -1,直到您获取了结果的所有行。除非您使用缓冲游标,否则您应该在获取实际行数之前使用 cursor.fetchall()。