python - 如何通过变量更新mysql中的某些内容
问题描述
我目前正在使用 python 编写代码,并将其连接到 mysql。现在,当我想通过更新查询轻松更新某些内容时,但是当我从网站获取数据并将该数据存储在变量中然后尝试使用该变量对其进行更新时,它不起作用,我该怎么办解决这个问题?我附上下面的代码以供参考。请帮忙。
last_traded_price = (live_data['JUBLFOOD']['ltp'])
# fetching the previous price from the database
mycursor.execute("SELECT price FROM stockprice WHERE ID = 'JUBLFOOD' ")
myresult = mycursor.fetchone()
for row in myresult:
previous_price = row
change = last_traded_price - previous_price
roundup_change = str(round(change, 2))
print (roundup_change)
difference = float(roundup_change) / 100
percent = 0.2
if difference >= percent:
print('GREAT!!')
sql = "UPDATE stockprice SET price = last_traded_price where name = 'JUBLFOOD' "
time.sleep(5)
conditions()
time.sleep(5)
解决方案
您应该?
在查询中使用execute
它并带有参数。
mycursor = conn.cursor()
sql = "UPDATE stockprice SET price = ? WHERE name = 'JUBLFOOD'"
mycursor.execute(sql, (last_traded_price,))
conn.commit()
(last_traded_price,)
即使您只有一个参数,它也必须是元组。
查询可能会很好commit
- 通知数据库您确实想要更改。
推荐阅读
- intellij-idea - 有没有办法在intellij 15中断点整个项目
- java - MPAndroidChart 自定义水平条形图
- android - 将适配器与不同的布局管理器合并
- python - 有没有办法将屏幕上的所有文本放入 python3 中的数组中
- java - 在共享对象文件中查找 Android Java 可用方法
- c# - Unity 想要从另一个数组中获取游戏对象
- c - 为什么 Helgrind 显示“违反锁定顺序”错误消息?
- java - 不接受文件中的更改
- c# - 检查逗号分隔字符串中的 id 是否与另一个字符串数组中的任何 id 匹配
- flutter - Flutter - 单个项目中 Web 和 Android 的不同点击操作