我试图对代码列等于“code”的行执行以下命令,设置“store”=“result”。在
cursor.execute("""UPDATE pjStores SET %s=%s WHERE code=%s""", (store, result, code))
但我一直收到以下错误:
^{pr2}$其中命令中的变量是:
store=1087
result=1
code=Madness16
这是我第一次真正使用mysql,所以我对它还很陌生。我已经被困在这条线上2个小时了,不知道我做错了什么。我在mysql中尝试了以下命令,运行正常:
UPDATE pjStores SET `1087`=1 WHERE code='Madness16'
需要更多代码:
# Step through stores
cursor.execute("SHOW COLUMNS FROM pjStores")
stores = cursor.fetchall()
cursor.execute("SELECT code FROM pjStores")
codes = cursor.fetchall()
for store in stores[1:]: # Hack to skip first entry
pj.setStore(store[0])
for code in codes:
result = pj.checkCode(code[0])
cursor.execute ("""UPDATE pjStores SET %d=%s WHERE code=%s""", (store[0], result, code[0]))
尝试使用
'
而不是"
:您可能需要尝试类似的方法(假设这不容易受到sql注入攻击—这意味着数据是可信的,而不是用户提供的)
相关问题 更多 >
编程相关推荐