Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Excel文件更新Python MySQL不会';行不通_Python_Mysql - Fatal编程技术网

从Excel文件更新Python MySQL不会';行不通

从Excel文件更新Python MySQL不会';行不通,python,mysql,Python,Mysql,我能够插入和替换MySQL表中的数据 但是如果列sku等于cArtNr,我想更新列dLieferdatum Excel文件如下所示: 我的Python代码: cursor = connection.cursor() query = """UPDATE d032683a.jll99_deliverytime_import SET dLieferdatum %s WHERE sku = %s""" for r in range(1, sheet.nrows): c

我能够插入和替换MySQL表中的数据

但是如果列sku等于
cArtNr
,我想更新列
dLieferdatum

Excel文件如下所示:

我的Python代码:

cursor = connection.cursor()
query = """UPDATE d032683a.jll99_deliverytime_import SET dLieferdatum %s WHERE sku = %s"""

for r in range(1, sheet.nrows):
                cArtNr        = sheet.cell(r,1).value
                dLieferdatum  = sheet.cell(r,2).value


                values = (dLieferdatum, cArtNr)

                cursor.execute(query, values)

connection.commit()
cursor.close()
connection.close()
我的编译器(cygwin)错误消息:

回溯(最近一次呼叫最后一次): 文件“sql_update.py”,第63行,在 cursor.execute(查询、值) pymysql.err.ProgrammingError:(1064,“您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以了解在第1行“2020-05-29”附近使用的正确语法,其中sku='11330342')


非常感谢并致以最诚挚的问候。

我认为您在update语句中缺少了一个等号,这就是您出错的原因。我想如果你加上等号,你就没事了

另外,如果我是您,我会在控制台中打印查询,以查看发送到数据库的确切查询是什么,并且为了进行测试,我可能会直接在数据库中运行该查询

UPDATE d032683a.jll99_deliverytime_import SET dLieferdatum = %s WHERE sku = %s
您的打印(查询)应如下所示:

UPDATE d032683a.jll99_deliverytime_import SET dLieferdatum = '2020-05-29' WHERE sku = '11330342'

设置dLieferdatum=%s……
<代码>=是语法中必须的一部分*脸掌。。。非常感谢你!我打赌我永远不会注意到它:-)谢谢!对我忘记了%s之间的“=”