Как редактировать данные в строках sqlite3, содержащих уникальный столбец?
Есть функция, которая добавляет message_id (уникальный столбец) и user пользователя в базу данных. При этом помимо двух этих столбцов имеется третий столбец status:
def add_mes(self, message_id, user):
"""Добавляем ФИО и message_id в БД"""
self.cursor.execute("INSERT INTO `rasp` (`message_id`, `user`) VALUES (?, ?)", (message_id, user))
return self.conn.commit()
вслед за этой функцией при нажатии клавиши должна запускаться следующая функция такая, чтобы в строке с вышеуказанным уникальным message_id отредактировался третий столбец status, а остальные данные остались теми же
def add_status(self, message_id, status):
"""Добавляем статус дом/офис в БД"""
self.cursor.execute("INSERT INTO `rasp` (`message_id`, `status`) VALUES (?, ?)", (message_id, status))
return self.conn.commit()
выдает ошибку
sqlite3.IntegrityError: NOT NULL constraint failed: rasp.user
Подскажите пожалуйста, как сделать правильно?
Ответы (1 шт):
Автор решения: dimonrzhev
→ Ссылка
решено следующим образом:
def add_status(self, status, message_id):
"""Добавляем статус дом/офис в БД"""
self.cursor.execute("UPDATE `rasp` SET `status` = ? WHERE `message_id` = ?", (status, message_id))
return self.conn.commit()