首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当相应的SELECT语句工作时,为什么MySQL DELETE语句会失败?

问当相应的SELECT语句工作时,为什么MySQL DELETE语句会失败?
EN

Stack Overflow用户
提问于 2022-12-01 23:33:22
回答 1查看 33关注 0票数 0

我有一个托管在GCP上的MySQL数据库实例,我正在使用吡虫啉 python包连接到它。我想从一个名为Basic的数据库表中删除一些行。

我编写的代码如下所示。变量conf包含到数据库实例的连接详细信息。

代码语言:javascript
复制
import pymysql
import pandas as pd

# Establish connection.
connection = pymysql.connect(**conf)
cursor = connection.cursor()

# Delete rows of table.
try:
    cursor.execute("DELETE FROM Basic WHERE Date = '2022-11-25 04:00:00';")

except Exception as ex:
    print("Exception occured: %s" %ex) 

finally:
    connection.close()

# Check the table to see if deletion has occurred.
connection = pymysql.connect(**conf)
cursor = connection.cursor()
cursor.execute("SELECT * FROM Basic WHERE Date = '2022-11-25 04:00:00'")
connection.close()

df = pd.DataFrame(cursor.fetchall(), columns = ["Date", "State", "Price", "Demand"])

显然,人们会期望在这里定义的dataframe没有行,但事实并非如此。这表明上面代码中包含的SELECT语句会产生预期的结果,但是相应的DELETE语句不会产生预期的结果。

为什么是这种情况?

代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

发布于 2022-12-02 02:18:52

上面的代码要求添加以下行,以便提交DELETE语句。

代码语言:javascript
复制
connection.commit()

在修改数据的每个事务之后,都应该调用commit方法,比如这个。

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

https://stackoverflow.com/questions/74649302

复制
相关文章

相似问题

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