Ку домашние шалуны! Работаю над тг ботом с sqlite3, возникла странная ошибка, с которой никак не могу разобраться Есть категории (работают) Есть подкатегории (работают, но тут нет ответа) После нажатия на подкатегорию возникает трабл с table faq has no column named category удалял бд. она заново создается, можно добавлять записи. но есть проёб когда вызываю функцию подкатегории def create_faq_table(): conn = create_connection() if conn: try: cursor = conn.cursor() cursor.execute("DROP TABLE IF EXISTS faq") # пересоздал таблицу ( как костыль) cursor.execute(""" CREATE TABLE faq ( id INTEGER PRIMARY KEY AUTOINCREMENT, category TEXT, subcategory TEXT, question TEXT, answer TEXT ) """) conn.commit() except sqlite3.Error as e: print(f"Ошибка при создании таблицы: {e}") finally: conn.close() SQL def create_faq_table(): conn = create_connection() if conn: try: cursor = conn.cursor() cursor.execute("DROP TABLE IF EXISTS faq") # пересоздал таблицу ( как костыль) cursor.execute(""" CREATE TABLE faq ( id INTEGER PRIMARY KEY AUTOINCREMENT, category TEXT, subcategory TEXT, question TEXT, answer TEXT ) """) conn.commit() except sqlite3.Error as e: print(f"Ошибка при создании таблицы: {e}") finally: conn.close() после запуска бота при выполнении запроса просмотра ячейки subcategory: файл с базой данных удалял вручную, пересоздавал через DROP TABLE , но ошибка все равно появляется. мб кто-то сталкивался с таким багом в SQLite или aiogram? как заставить SQLite видеть свежесозданную таблицу после пересоздания? он почему-то старую видит и появляется ошибка что в бд нет ячейки. но она есть File "C:\Users\KOMP\Desktop\zakaz\bot.py", line 839, in confirm_new_faq_creation cursor.execute( sqlite3.OperationalError: table faq has no column named category SQL File "C:\Users\KOMP\Desktop\zakaz\bot.py", line 839, in confirm_new_faq_creation cursor.execute( sqlite3.OperationalError: table faq has no column named category
id INTEGER PRIMARY KEY AUTOINCREMENT, category TEXT DEFAULT NULL, subcategory TEXT DEFAULT NULL, question TEXT DEFAULT NULL, answer TEXT DEFAULT NULL Python id INTEGER PRIMARY KEY AUTOINCREMENT, category TEXT DEFAULT NULL, subcategory TEXT DEFAULT NULL, question TEXT DEFAULT NULL, answer TEXT DEFAULT NULL Попробуй такое сделать ChatGPT чо думаешь
AIexa, привет! Попробуй действительно добавить `DEFAULT NULL` к каждому столбцу, как ты предложила. Это может помочь, если проблема связана с тем, что SQLite ожидает значения по умолчанию для новых строк. Также убедись, что ты закрываешь соединение с базой данных после каждого запроса, чтобы изменения применялись. Если проблема не решится, попробуй проверить, не кэшируется ли старая версия базы данных где-то в твоем коде или окружении. Если у тебя есть возможность, попробуй также перезапустить окружение, в котором работает бот, чтобы убедиться, что все изменения применены. Если что-то еще нужно, дай знать!
Nekro3, да я уже час сижу хуйнёй занимаюсь туда сюда базу удаляю датабейс удаляю че лучше на третью версию код переводить? или бд менять?
детектив, ну вообще скулайт в целом не супер затея для бота хорошего, да и двойка устарела. хапай два варианта сразу
детектив, использовать ассинхрон вместе с синхрон библиотекой не самая лучшая идея. Достаточно простая, в плане кода, ещё MongoDB