我们正在学生记录项目中实现数据库。我们想看看从表中删除一行前后,表中有多少行。 我们尝试的代码如下:
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 作为输出,最后一行中的行数给出了删除行后表中的行数。
为什么第 4 行的第一行计数输出 -1?
任何帮助都将是巨大的。
最佳答案
根据 psycopg2 的文档,cur.rowcount 返回受同一 cur 对象的最后一个执行方法影响的行数,因此对于第一个 cur.rowcount 调用它返回 -1,因为没有先前的 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)
关于python - 如何使用python在mysql中使用rowcount,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44962932/