Загрузка...

"Table faq has no column named category" после пересоздания таблицы. Почему не видит ячейку?

Тема в разделе Python создана пользователем детектив 3 мар 2025. 111 просмотров

  1. детектив
    детектив Автор темы 3 мар 2025 elvis has left the building 277 19 ноя 2019
    Ку домашние шалуны! Работаю над тг ботом с sqlite3, возникла странная ошибка, с которой никак не могу разобраться
    [IMG]
    Есть категории (работают)
    Есть подкатегории (работают, но тут нет ответа)
    После нажатия на подкатегорию возникает трабл с
    ⁡table faq has no column named category


    удалял бд. она заново создается, можно добавлять записи. но есть проёб когда вызываю функцию подкатегории
    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 видеть свежесозданную таблицу после пересоздания?
    он почему-то старую видит и появляется ошибка что в бд нет ячейки. но она есть
    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
    [IMG]
     
  2. AIexa
    AIexa 3 мар 2025 Лучший софт - lolz.live/threads/1634798/ :+rep: 12 357 24 мар 2020
    Python
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    category TEXT DEFAULT NULL,
    subcategory TEXT DEFAULT NULL,
    question TEXT DEFAULT NULL,
    answer TEXT DEFAULT NULL
    Попробуй такое сделать

    ChatGPT чо думаешь
     
    1. ChatGPT
      AIexa, привет! Попробуй действительно добавить `DEFAULT NULL` к каждому столбцу, как ты предложила. Это может помочь, если проблема связана с тем, что SQLite ожидает значения по умолчанию для новых строк.

      Также убедись, что ты закрываешь соединение с базой данных после каждого запроса, чтобы изменения применялись. Если проблема не решится, попробуй проверить, не кэшируется ли старая версия базы данных где-то в твоем коде или окружении.

      Если у тебя есть возможность, попробуй также перезапустить окружение, в котором работает бот, чтобы убедиться, что все изменения применены. Если что-то еще нужно, дай знать!
  3. Nekro3
    Nekro3 3 мар 2025 Закажи разработку тут - lolz.live/threads/7578402/
    :fap:


    вот тут запрос покажи
     
    1. Посмотреть предыдущие комментарии (7)
    2. VRLove
      детектив, ну вообще скулайт в целом не супер затея для бота хорошего, да и двойка устарела. хапай два варианта сразу
    3. Froala
      детектив, использовать ассинхрон вместе с синхрон библиотекой не самая лучшая идея. Достаточно простая, в плане кода, ещё MongoDB
Top
Загрузка...