Я создал таблицу со следующими данными:
myStr2 = "CREATE TABLE Lecturers (lec_no VARCHAR(3), name VARCHAR(30), email VARCHAR(30), PRIMARY KEY(lec_no))"
Затем я создал функцию, которая сможет обновлять таблицу.
def update_lecturer(self, field_to_update, value_to_set, lec_no):
self.field_to_update = field_to_update
self.value_to_set = value_to_set
self.lec_no = lec_no
self.myCursor.execute("UPDATE Lecturers SET field_to_update = :field_to_update WHERE lec_no =:lec_no",{'field_to_update':self.field_to_update,'value_to_set':self.value_to_set,'lec_no':self.lec_no})
Таблица обновляется на основепользовательский ввод:
field_to_update = input("Field update:")
value_to_set = input("Value to set:")
lec_no = input("Lec_no:")
, где field_to_update может быть именем или электронной почтой, value_to_set может быть либо новым значением имени, либо новым значением электронной почты. lec_no - это идентификатор лектора, детали которого мы будемхотелось бы изменить.
Однако, когда я запускаю свой код, я получаю следующую ошибку:
sqlite3.OperationalError: no such column: field_to_update
Я знаю, что в моей таблице нет такого столбца, как field_to_update, но как мне установитьстолбец, который будет обновляться на основе пользовательского ввода.