首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pymysql游标无法执行SQL语言

问pymysql游标无法执行SQL语言
EN

Stack Overflow用户
提问于 2019-10-25 07:52:48
回答 1查看 34关注 0票数 1

我想使用pymysql来更新mysql数据库中的数据。但我不知道我的代码出了什么问题。IDE: pycharm

代码语言:javascript
复制
name1=input("enter the new one")
stu_ID=int(input("enter student ID"))
sql=f."UPDATE student SET name={name1} WHERE ID={stu_ID}"
cursor. execute(sql)
EN

回答 1

Stack Overflow用户

发布于 2019-10-25 18:29:22

由于您的帖子中遗漏了错误,我将假设代码工作正常,但数据在执行结束时不会更新。如果此假设不成立,请添加错误。

在您的代码中没有出现数据库连接的声明,从我的角度来看,问题可能出在那里。实际上,对于update语句,您应该添加参数autocommit=True。

检查以下示例:

代码语言:javascript
复制
database_connection=pymysql.connect(host=my_host, 
                                   user=my_user, 
                                   password=my_psw, 
                                   db=my_db_name, 
                                   charset=my_db_charset, 
                                   cursorclass=my_cursor_type, 
                                   autocommit=True)

这是因为pymysql在更新时会启动一个隐式事务。

因此,在您的示例中(不使用自动提交),在查询执行结束时,将回滚数据。

如果您不想在数据库连接声明中添加自动提交,另一个不同的选择是在查询后添加一个隐式提交,如下所示:

代码语言:javascript
复制
database_connection.commit()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58550537

复制
相关文章

相似问题

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