@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
);
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 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)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы