#python #mysql #python-3.x #pyodbc
#python #mysql #python-3.x #pyodbc
Вопрос:
Я просто хочу обновить с помощью команды 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.Ошибка программирования: ошибка обработки format-parameters; Python ‘tuple’ не может быть преобразован в тип MySQL
В моих списках есть:
oldAbility= [(43, ‘PHP’), (44, ‘HTML’), (45, ‘CSS’)]
newAbilities1= [‘Java’, ‘Python’, ‘JavaScript’]
Я просто хочу заменить старые возможности новыми возможностями 1 в соответствии с идентификатором.
Комментарии:
1. 2%d’ отсутствует цитата?
2. Салмон, я написал это неправильно, когда писал здесь. Извините.
3. все еще неверный %d’ ?
4. Я переписываю, но все равно принимаю эту ошибку.
5. Вы отредактировали свой вопрос — сохраняется ли ошибка, если вы используете именно этот код?
Ответ №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()
Комментарии:
1. Я переписываю, но та же ошибка. mysql.connector.errors. Ошибка программирования: ошибка обработки format-parameters; Python ‘tuple’ не может быть преобразован в тип MySQL
2. Затем одна из ваших переменных, которые вы используете (checkNewAbility, url[0], oldAbility[0]), имеет неправильный тип. Они должны быть строками или целыми числами. Вы должны отладить свою программу (например, вывести их на консоль) и проверить содержимое переменных.
3. Я нашел свою ошибку. oldAbility [1] мечтал получить языки программирования. Но я видел, как ты брал их все. Я хотел получить языки программирования, а не только числа.