Python 为什么简单的减法会产生不同的输出?

Python 为什么简单的减法会产生不同的输出?,python,mysql,database,flask,Python,Mysql,Database,Flask,我正在使用PythonFlask作为后端进行一个小型web应用程序项目。一切正常,但出现了一个奇怪的小问题,我不知道为什么会发生这种情况 @app.route('/buy/',方法=['POST','GET']) @是否已登录 def购买(id_val): 如果request.method==“POST”: 购买金额=申请。表格['buy\u amt'] 卖出价格=申请。表格[‘卖出价格’] cur=mysql.connection.cursor() 结果=当前执行('从公司仓库中选择*) va

我正在使用PythonFlask作为后端进行一个小型web应用程序项目。一切正常,但出现了一个奇怪的小问题,我不知道为什么会发生这种情况

@app.route('/buy/',方法=['POST','GET'])
@是否已登录
def购买(id_val):
如果request.method==“POST”:
购买金额=申请。表格['buy\u amt']
卖出价格=申请。表格[‘卖出价格’]
cur=mysql.connection.cursor()
结果=当前执行('从公司仓库中选择*)
value=cur.fetchone()
cur.execute('SELECT*FROM distributor\u warehouse,其中cpID=%s',[id\u val])
temp=cur.fetchone()
如果温度!=无:
当前执行('UPDATE company\u warehouse SET QTY=%s,其中cpID=%s',(str(int(value['QTY'])-int(buy\u amt)),id\u val))
当前执行('UPDATE distributor\u warehouse SET QTY=%s,其中cpID=%s',(str(int(购买金额)+int(temp['QTY')),id\u val))
其他:
当前执行('UPDATE company\u warehouse SET QTY=%s,其中cpID=%s',(str(int(value['QTY'])-int(buy\u amt)),id\u val))
当前执行('插入分销商仓库(cpID、数量、成本价格、售价)值(%s、%s、%s)'(id值、购买金额、值['每单位价格'],售价))
mysql.connection.commit()
flash(“成功购买”,“成功”)
返回重定向(url\u for('buy\u product'))
当前关闭()
返回呈现模板('buy\u product.html')
这是我的app.py,问题出现在
UPDATE
语句的
str(int(value['QTY'])-int(buy_amt))


无论作为参数接收的id值是多少,您总是从公司仓库提取第一行。通过改变这一点,数量将得到适当更新

cur.execute('SELECT * FROM company_warehouse WHERE cpID=%s',[id_val]) 
value = cur.fetchone()

现在我明白了为什么只有第一排给出了正确的答案。