我怎么能没有得到mysql转换元组错误?

问题描述 投票:0回答:1

我只想使用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”%错误)mysql.connector.errors.ProgrammingError:处理格式参数失败; Python'tuple'无法转换为MySQL类型

我的名单有:

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

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

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

python mysql python-3.x pyodbc
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()
© www.soinside.com 2019 - 2024. All rights reserved.