python - 如何使用python在mysql中使用rowcount

标签 python mysql rowcount

我们正在学生记录项目中实现数据库。我们想看看从表中删除一行前后,表中有多少行。 我们尝试的代码如下:

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/

相关文章:

python - 如何循环数据框中的列表?

python - 一个更简单的案例列表

php mysql - 搜索字段和类别(如果不为空)

nhibernate - 如何使用 NHibernate QueryOver api 获取行数?

python - Django 模板中 for 循环的控制

Python 列表索引多个范围

mysql - 如何更新 MySQL 中的表 A 加入另一个表?

php - 在 WHERE IN 子句中使用 mysqli_real_escape_string 时出现错误

mysql - 解释 MySQL 查询而不更改先前查询的 row_count()

MySQL row_count() 行受影响