yuyeze 2022-07-30 12:40 采纳率: 76.2%
浏览 59
已结题

pymysql的运行问题

# 导入pymysql模块
import pymysql
# 连接database
conn = pymysql.connect(host="mysql.sqlpub.com",user="yuyeze",password="据数据库网站要求,不得透露",database="yuyeze_mysql",charset="utf8")
# 得到一个可以执行SQL语句的光标对象
cursor = conn.cursor()
# 查询
sql = 'select * from resource'
# 执行SQL语句
try:
    cursor.execute(sql)
    result = cursor.fetchall()
    for a in result:
        print(a)
except:
    # 如果发生错误则回滚
    conn.rollback()
ID = int(input("请输入资源ID(注:资源ID用于获取资源链接,请输入纯数字):"))
NAME = input("请输入资源名称(注:资源名称用于辨别资源,请输入中文字):")
INTERLINKAGE = input("请输入资源链接(注:资源链接用于获取资源,请输入网址):")
print("资源ID:{}".format(ID))
print("资源名称:{}".format(NAME))
print("资源链接:{}".format(INTERLINKAGE))
a = input("请问,是否执行添加指令(yes/no):")
# 定义要执行的SQL语句
sql = "insert into resource(id,name,interlinkage) values(ID,NAME,INTERLINKAGE)"
cursor.execute(sql)


# 关闭光标对象
cursor.close()
# 关闭数据库连接
conn.close()

运行后查询正常,打印正常,输入正常,运行正常,正常结束,唯一不正常的是程序运行正常结束后数据库无反应,数据库手动调用如下指令后反应正常,那问题应该是python中的pymysql库连接错误,但是,奇异的事件发生了,也就是我之前说的运行后查询正常,打印正常,那么问题出在哪?
注:题主去掉查询代码后,还是无法执行
注:昨日运行添加SQL语句添加正常

  • 写回答

3条回答 默认 最新

  • 『Knight』 2022-07-30 12:52
    关注

    代码第26行是插入语句27行是执行插入,但是题主不要忘记对于查询语句当然不需要commit提交,但是修改语句全部要提交才会真正的修改。建议在第28行写conn.commit()试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月30日
  • 已采纳回答 7月30日
  • 创建了问题 7月30日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装