首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyMysql更新数据

PyMysql更新数据
EN

Stack Overflow用户
提问于 2016-02-25 15:50:25
回答 1查看 3.1K关注 0票数 1

当我使用MySQL工作台时,我可以像这样知道更新数据的结果

当我像这样使用PyMySQL时:

代码语言:javascript
复制
connect = pymysql.Connect(host='localhost', port=3306, user='*', passwd='*', db='MySQL', charset='utf8')
cursor = connect.cursor()
cursor.execute('update table_name set id=0 where id=1')
connect.commit()
connect.close()

我怎么知道结果呢?

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 16:37:10

要获得受DML查询(UPDATEINSERTDELETE)影响的行数,应该检查cursor.rowcount。要获得匹配的行数,可以在使用相同的WHERE子句执行UPDATE之前运行一个SELECT查询。

代码语言:javascript
复制
import pymysql    

conn = pymysql.Connect(user='guest', db='test', autocommit=True)
conn.begin()
cursor = conn.cursor()

cursor.execute('SELECT COUNT(*) FROM test WHERE test_id IN(1, 2, 3)')
print('matched', cursor.fetchone()[0])

cursor.execute('UPDATE test SET value=0 WHERE test_id IN(1, 2, 3)')
print('changed', cursor.rowcount)

conn.rollback()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35621295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档