MySQL不会从python更新

2024-06-26 18:02:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我把一个CSV文件读入python,从一个托管的web服务器访问MySQL数据库。你知道吗

CSV文件与从MySQL数据库下载的数据进行比较,但在提交时价格不变。我没有错。你知道吗

import mysql.connector as db
import csv
try:
    mydb = db.connect(
        host="103.**.***.***",
        port = 3306,
        user="USER",
        passwd="PASSWORD",
        database="DATABASE"
        )

    mycursor = mydb.cursor()

    mycursor.execute("SELECT * FROM wp_wc_product_meta_lookup")

    myresult = mycursor.fetchall()
    with open("stock.csv",encoding="utf8") as csvfile:
        reader = csv.DictReader(csvfile)
        for row in reader:
            for x in myresult:
                if row['STOCK CODE'] == x[1]: # compare the stock code to the SKU
                    if row['RRP'] != str(x[4]): #compare the new price to the old
                        print(row['STOCK CODE'] + " needed to be updated")
                        price = row['RRP']
                        query =('''UPDATE ahfcompu_wp1.wp_wc_product_meta_lookup SET 
                        min_price=%s, max_price=%s WHERE    sku=%s'''% (price, price, x[4])); 
                        mycursor.execute(query)
                        mydb.commit()
                    else:
                        print("pass")
except Exception as a:
    print(a)
print ("done")

任何洞察都将不胜感激

更新 CSV文件

STOCK CODE,CATEGORY CODE,CATEGORY NAME,SUBCATEGORY NAME,SHORT DESCRIPTION,BAR CODE,DBP,RRP
NHU-TS-5-POE,NH,Network - Enterprise,EdgeMax Switching  Ubiquiti ToughSwitch 5port PoE Gigabit Managed Switch,8.17882E+11,119,159.72

Tags: 文件csvthetoasstockmysqlcode
1条回答
网友
1楼 · 发布于 2024-06-26 18:02:08

您需要为值创建一个单独的元组,并将其包含在execute方法中。你知道吗

query = """ UPDATE ahfcompu_wp1.wp_wc_product_meta_lookup SET 
                        min_price = %s, max_price = %s WHERE sku = %s """
values_tuple = (price, price, x[4])
mycursor.execute(query, values_tuple)

相关问题 更多 >