как я не могу получить ошибку преобразования корня mysql? - PullRequest
0 голосов
/ 19 апреля 2019

Я просто хочу обновить с помощью команды 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 'кортеж' не может быть преобразован в тип MySQL

В моих списках:

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

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

Я просто хочу заменить старые способности на новые способности1 согласно идентификатору.

1 Ответ

1 голос
/ 19 апреля 2019

Если вы правильно скопировали и вставили свой код, то после выполнения отсутствуют двойные кавычки "" (я предполагаю, что вы используете 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()
...