从Excel文件更新Python MySQL不会';行不通
我能够插入和替换MySQL表中的数据 但是如果列sku等于从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
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之间的“=”