Задать вопрос
@Radiss

Ошибка с SQL при запуске бота в телеграм — как решить?

Почему в столбце 'status' если я ставлю значения:

status BOOLEAN NOT NULL
DEFAULT (TRUE)

то при запуске телеграм не отвечает на команды '/subscribe' , '/unsubscibe'

В табличном виде статус '1'

В консоли
sqlite3.DatabaseError: malformed database schema (subscriptions) - default value of column [status] is not constant


Но если убираю значение 'default', то бот отвечает на команды, но статус не меняется на '0' после 'unsubscribe'

CREATE TABLE subscriptions (
    id      INTEGER       PRIMARY KEY AUTOINCREMENT,
    user_id VARCHAR (255) NOT NULL,
    status  BOOLEAN       NOT NULL
);
  • Вопрос задан
  • 333 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
@galaxy
Запустите sqlite, откройте вашу базу и наберите в консоли
.schema subscriptions

insert into subscriptions (user_id) values ('a');
insert into subscriptions (user_id, status) values ('b', true);


И посмотрите, все ли пройдет как надо (я подозреваю, что опеределение таблицы все-таки выглядит не так, как вы показываете)
Ответ написан
Комментировать
@Hranutel
Відкрийте свою базу даних , натисніть Edit column і виберіть колону в якій вас записаний статус.
Наступним кроком в пункті Default нажміть Configure і пропишіть ('TRUE').
Збережіть зміни в таблиці.(я описував як виправити цю помилку використовуючи програму SQLiteStudio)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы