Вывод данных из базы и их удаление sql
У меня при каждом сообщении от нового пользователя для бота, создается столбец с названный его id.
@bot.message_handler(content_types = ['text'])
def info(message):
cur.execute(f"""CREATE TABLE IF NOT EXISTS notes (
'{message.chat.id}' TEXT
)""")
db.commit()
При добавлении новых данных они правильно записываются в нужный столбец, но когда я вызываю вывод данных, то бот отсылает мне не верные значения, а если быть точнее, мой id. Также не удаляются данные.

Код добавления данных:
def new_note(message):
cur.execute(f"INSERT INTO notes ('{message.chat.id}') VALUES (?)", (message.text,))
db.commit()
bot.send_message(message.chat.id, 'Note added successfully')
Код вывода данных:
elif message.text == '? My notes':
try:
msg = ''
for value in cur.execute(f"SELECT '{message.chat.id}' FROM notes"):
if msg == '':
msg += '• ' + value[0]
continue
msg += '\n• ' + value[0]
bot.send_message(message.chat.id, msg)
except Exception:
bot.send_message(message.chat.id, 'No notes found')
Код удаления данных:
def del_note(message):
try:
cur.execute(f"SELECT '{message.chat.id}' FROM notes")
cntx = cur.fetchall()[int(message.text) - 1]
bot.send_message(message.chat.id, f'Note "{cntx[0]}" deleted')
cur.execute(f"DELETE FROM notes WHERE '{message.chat.id} = (?)", (cntx))
db.commit
except Exception:
bot.send_message(message.chat.id, f'Notes number {message.text} not found')
Ответы (1 шт):
Автор решения: MyNameIsKitsune
→ Ссылка
Если создавать таблицу:
CREATE TABLE notes ( id int NOT NULL AUTO_INCREMENT, chatid TEXT )
id нужен, чтобы можно было достать данные, если вписывать, то:
INSERT INTO table_name (chatid) VALUES (message.chat.id)
доставать:
SELECT * FROM table_name WHERE `chatid` = 'message.chat.id'
удолять:
DELETE FROM notes WHERE `chatid` = 'message.chat.id'