Хочу, чтобы в бд sqlite добавлялся id пользователя и введенное им сообщение. Причем это сообщение должно перезаписываться при каждом запуске бота в телеграмме. Как это можно реализовать?
import sqlite3
import telebot
bot = telebot.TeleBot("token")
conn = sqlite3.connect('database.db',check_same_thread=False)
cursor = conn.cursor()
def db_table_val(us_id,text):
cursor.execute('INSERT INTO test (us_id, text) VALUES (?, ?)',
(us_id,text))
conn.commit()
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
if message.text.lower() == '/reg':
bot.send_message(message.chat.id, 'success')
us_id = message.from_user.id
text = message.text
db_table_val(us_id,text)
bot.infinity_polling()
если кратко: id должен сохраняться а сообщение каждый раз перезаписываться
этот код выдает ошибку, когда второй раз запускаешь /reg
2022-04-10 12:41:32,445 (__init__.py:615 MainThread) ERROR - TeleBot: "Infinity polling exception: UNIQUE constraint failed: test.us_id"
2022-04-10 12:41:32,446 (__init__.py:617 MainThread) ERROR - TeleBot: "Exception traceback:
Traceback (most recent call last):
File "C:\Users\Maxim\PycharmProjects\pythonProject\venv\lib\site-packages\telebot\__init__.py", line 611, in infinity_polling
self.polling(none_stop=True, timeout=timeout, long_polling_timeout=long_polling_timeout,
File "C:\Users\Maxim\PycharmProjects\pythonProject\venv\lib\site-packages\telebot\__init__.py", line 658, in polling
self.__threaded_polling(non_stop, interval, timeout, long_polling_timeout, allowed_updates)
File "C:\Users\Maxim\PycharmProjects\pythonProject\venv\lib\site-packages\telebot\__init__.py", line 720, in __threaded_polling
raise e
File "C:\Users\Maxim\PycharmProjects\pythonProject\venv\lib\site-packages\telebot\__init__.py", line 680, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\Maxim\PycharmProjects\pythonProject\venv\lib\site-packages\telebot\util.py", line 135, in raise_exceptions
raise self.exception_info
File "C:\Users\Maxim\PycharmProjects\pythonProject\venv\lib\site-packages\telebot\util.py", line 87, in run
task(*args, **kwargs)
File "C:\Users\Maxim\PycharmProjects\pythonProject\амао.py", line 23, in get_text_messages
db_table_val(us_id,text)
File "C:\Users\Maxim\PycharmProjects\pythonProject\амао.py", line 11, in db_table_val
cursor.execute('INSERT INTO test (us_id, text) VALUES (?, ?)',
sqlite3.IntegrityError: UNIQUE constraint failed: test.us_id
таблицу для бд создавал в самой программе sqlite studio вот как выглядит параметры для столбцов