Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

UPDATE в SQLite3 на python

Данил Сиденко Ученик (165), на голосовании 3 недели назад
Я написал эту строчку кода:

cursor.execute("UPDATE orders SET {num} WHERE id=? SET ", (kol, id,))

У меня выдает ошибку:

cursor.execute("UPDATE orders SET {num} WHERE id=? SET ", (kol, id,))
sqlite3.OperationalError: unrecognized token: "{"

Я знаю что ошибка в скобках, но я не знаю на что их можно заменить

Весь код:

for i in kols:# Форматируем данные в нужный вид и выводим результат
if kols[i] > 0:
num=str(i)
kol=str(kols[i])
conn = sqlite3.connect('Data/adm.db')
cursor = conn.cursor()
cursor.execute("UPDATE orders SET {num} WHERE id=? SET ", (kol, id,))
conn.commit()
bot.send_photo(message.chat.id, open('Flowers/'+num+'.jpg', 'rb'), caption=kol+'шт.')
cursor.execute("SELECT price FROM flowersData WHERE number=?", (num,))
price += int(str(cursor.fetchone())[1:-2])
conn.close()
Голосование за лучший ответ
CausonQ Мудрец (12684) 1 месяц назад
Откуда у тебя такой запрос вообще?
Синтаксис UPDATE должен быть:
 UPDATE tbl SET col1='aaa', col2='bbb' WHERE id=1 
В твоем случае вместо {num} нужно написать название столбца = ?
После id=? SET убрать
Данил СиденкоУченик (165) 1 месяц назад
Я хочу чтобы столбец был адаптивный если ты заметим переменная num принимает значения I таким образом у меня столбы называются 1, 2, 3 и так далее. Последний SET я случайно поставил. Спасибо что показал
CausonQ Мудрец (12684) Данил Сиденко, на каждый столбец должно быть значение. у тебя синтаксис нарушен
Похожие вопросы