当前位置: 首页 > 面试题库 >

数据库不会使用MySQL和Python自动更新

聂煜
2023-03-14
问题内容

我在更新MySQL数据库中的行时遇到了一些麻烦。这是我要运行的代码:

import MySQLdb

conn=MySQLdb.connect(host="localhost", user="root", passwd="pass", db="dbname")
cursor=conn.cursor()

cursor.execute("UPDATE compinfo SET Co_num=4 WHERE ID=100")
cursor.execute("SELECT Co_num FROM compinfo WHERE ID=100")
results = cursor.fetchall()

for row in results:
    print row[0]

print "Number of rows updated: %d" % cursor.rowcount

cursor.close()
conn.close()

运行此程序时得到的输出是:

4
更新的行数:1

看来它正在运行,但是如果我从MySQL命令行界面(CLI)查询数据库,我发现它根本没有更新。但是,如果从CLI输入UPDATE compinfo SET Co_num=4 WHERE ID=100;,则按预期更新数据库。

我怎么了 我在Windows机器上运行带有MySQL 5.1.30的Python 2.5.2。


问题答案:

我不确定,但是我猜您正在使用INNODB表,但是您尚未执行提交。我相信MySQLdb会自动启用事务。

先致电conn.commit()再致电close

从常见问题解答: 从1.2.0开始,MySQLdb默认禁用自动提交



 类似资料:
  • 我已经安装了XAMPP-5.6。3-0在我的Ubuntu 14.04 64位机器中。现在Mysql数据库没有运行。 当我试图打开时,显示以下错误: 欢迎来到phpMyAdmin 错误 MySQL说:文档 服务器没有响应(或者本地服务器的套接字没有正确配置)。配置中定义的控制器用户连接失败。 正确访问/opt/lampp/htdocs中存储的所有网页。 我的书的内容。cnf是Mysql配置

  • 当应用程序启动时,我正在尝试创建mysql数据库。我尝试了波纹管配置,但无法实现,如果有人对此有想法,请告诉我,

  • 我使用 .deb 在 Ubuntu 系统中安装了 MySQL Workbench(community-6.2.3)。 工作台会话似乎看不到其他会话(应用程序/命令行客户端)对数据库的更新(DML)。 新会话能够在其启动时看到数据库的正确状态,但之后发生的更改对它不可见。似乎工作台 会话在工作台提交后确实与数据库同步。 我得到。 非工作台会话似乎没有任何这些问题。 我这是少了个配置什么的吗 更新:

  • 问题内容: 我正在为我的朋友们建立一个社交网站。我想知道当数据库中添加新记录时,如何更新包含很少插入的数据库记录的Div。简而言之,您一定已经看到了facebook的实时通知,当某人执行某项操作时,它们就会消失。这一切都不会刷新整个实时通知div。只有新通知才添加到div。 我想使用jquery和AJAX做到这一点,因为我对它们有很好的了解。和PHP作为服务器端语言。 先感谢您。 PS:我已经在许

  • 请帮帮我,我花了两天的时间在这个小问题上,但我还不知道如何解决它。 我已经将mysql安装在本地Windows10 PC的docker容器中。 mysql服务器运行良好(从mysql工作台运行) 但当我试图从intellij运行时,这些错误消息会出现。 我的Application.Protictions文件: 我的pom.xml文件:

  • 因此,我使用LiveData和ViewModel设置获取和插入数据的功能,并使用Room数据库保存数据。 将数据插入数据库后,我的RecyclerView不会更新数据。 RecyclerAdapterTransaksi.kt 使用RecyclerView显示数据库数据的片段 Pemasukkanframent。kt 使用LiveData的ViewModel类 TransaksiViewModel.