#python #mysql
Вопрос:
У меня есть простая проблема, когда я обновляю таблицу MySQL. Я хочу изменить УДАЛЕННЫЕ столбцы в моей таблице, в которых есть соответствующий идентификатор. Я использую приведенный ниже код:
c = mydb.cursor(buffered=True) for i,row in df.iterrows(): sql = "UPDATE `bas` SET removed = %s WHERE id = amp;s" print(row) print(sql) c.execute(str(sql), tuple(row)) mydb.commit()
Этот код возвращает следующее: Ошибка программирования: Не все параметры были использованы в инструкции SQL
Есть ли очевидная проблема с sql-запросом?
Комментарии:
1. можете ли вы опубликовать полный код ?
2. Также это похоже на ошибку : »
bas
НАБОР ОБНОВЛЕНИЙ удален = %s, ГДЕ идентификатор = amp;s» amp;s должен быть заменен на %s amp; где значения в строковом формате ?3. Чтобы быть более конкретным, у вас есть
amp;s
в конце, когда это должно быть%s
. Голосование за закрытие, вызванное опечаткой.4. Правильный способ форматирования строки выглядит примерно так, например : »
bas
НАБОР ОБНОВЛЕНИЙ удален = %s, ГДЕ идентификатор = %s» % («a», «b»)5. @ShekharSamanta: это неверно для запросов к базе данных. То, как Хенрик это делает, хорошо, за исключением опечатки.