首页 > 解决方案 > 如何通过变量更新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)

标签: pythonmysql

解决方案


您应该?在查询中使用execute它并带有参数。

mycursor = conn.cursor()

sql = "UPDATE stockprice SET price = ? WHERE name = 'JUBLFOOD'"            
mycursor.execute(sql, (last_traded_price,))

conn.commit()

(last_traded_price,)即使您只有一个参数,它也必须是元组。

查询可能会很好commit- 通知数据库您确实想要更改。


推荐阅读