0

我只想使用 UPDATE 命令刷新。这给出了错误,我在哪里犯错误?

for checkNewAbility in list(newAbilities1):
    if not checkNewAbility in list(oldAbility[1]):
        my_cursor.execute(
           "UPDATE mydb.skill SET skill_name='%s' WHERE Person_person_id='%s' 
                AND skill_id='%d';",(checkNewAbility, url[0], oldAbility[0]))
        realdb.commit()

错误:

“处理格式参数失败;%s”% err) mysql.connector.errors.ProgrammingError:处理格式参数失败;Python 'tuple' 无法转换为 MySQL 类型

我的清单有:

oldAbility= [(43, 'PHP'), (44, 'HTML'), (45, 'CSS')]

newAbilities1= ['Java', 'Python', 'JavaScript']

我只想根据id用newAbilities1替换oldAbilities。

4

1 回答 1

1

如果您正确复制并粘贴代码,则执行后缺少双引号“”。我假设您使用 pyodbc。

for checkNewAbility in list(newAbilities1):
    if not checkNewAbility in list(oldAbility[1]):
        my_cursor.execute("UPDATE mydb.skill SET skill_name='?' WHERE Person_person_id='?' AND skill_id='?'", (checkNewAbility, url[0], oldAbility[0]))
        realdb.commit()
于 2019-04-19T11:45:03.370 回答