juhamwang 2022-04-15 14:41 采纳率: 88.9%
浏览 154
已结题

sqlite3 Python update 变量数据到数据库中失败

问题遇到的现象和发生背景 :想把类中的方法,更新到数据库当中,此方法是pyqt5中下拉框所选取的串口名字,新的数据表插入数据没问题,但更新进去就不行,然后我用数据库软件去调试发现也是不行

img


img


之后寻求朋友帮助:
cur.execute('''UPDATE EssentialInformation SET Attribute = %s WHERE ID = 1''',(abd))
cur.execute('''UPDATE EssentialInformation SET Attribute = ’%s’ WHERE ID = 1'''%(abd))
用这两行代码去试还是不行,显示下列提示:
UPDATE EssentialInformation SET Attribute = %s WHERE ID = 1,(abd))

near "%": syntax error
时间: 0.001s

img


显示下列提示:
UPDATE EssentialInformation SET Attribute = '%s' WHERE ID = 1 %(abd)

no such column: Attribute
时间: 0.001s
但我表里面是有Attribute的呀

img

后来我试着更改数据库所限制的类型,发现只能是数字才能够更新进去,字母字符串这些都不行会报错:

img

img


各位请帮忙一下,我就是要插入如上图所示的name,Attribute,NowTime这三个变量

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • keenanli 2022-04-15 15:00
    关注
    c.execute('''UPDATE EssentialInformation SET Attribute = '%s', name = '%s', NowTime = '%s' WHERE ID = 1''' % (1, 2, 3))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 陈年椰子 2022-04-15 14:55
    关注

    改成

    run_sql = "UPDATE EssentialInformation SET Attribute = ’{}' WHERE ID = 1".format(abd)
    print(run_sql)
    cur.execute(run_sql)
    
    
    

    看看出错的时候, print出来的sql语句是啥。

    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月15日

悬赏问题

  • ¥15 深海控制器DSE7320MKII和博世ECU间can通讯知识
  • ¥15 Ru的复折射率用于FDTD 200nm到1200nm
  • ¥15 使用Fiddler抓包,textview的乱码如何解决
  • ¥50 trio连接驱动器报错
  • ¥15 有谁懂nhanes的权重计算啊
  • ¥15 欧姆龙PLC 电机控制 限位
  • ¥30 如何处理shell命令接收到的视频流并实时播放出来
  • ¥15 虚心请教C#的代码优化问题
  • ¥15 有偿求做台风过境全过程模拟仿真
  • ¥50 求!AutomationDesk 如何自动导入Variant数据