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

Не добавляется столбец в sqlite3, что делать(срочно, пожалуйста)?

Ошибка
sql.execute(f"ALTER TABLE `channels` ADD COLUMN {channel_id} INT")
sqlite3.OperationalError: near "123": syntax error

Что делать? Он получает значение этой переменной, однако не добавляет
Если я уберу {channel_id} и вставлю например `test`, то он добавит таблицу test

Код:
sql.execute(f"ALTER TABLE `channels` ADD COLUMN {channel_id} INT")
db.commit()
  • Вопрос задан
  • 145 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@pphhpphh Автор вопроса
UPD; решил проблему
Код
sql.execute("ALTER TABLE `channels` ADD COLUMN `%s` FLOAT" % channel_id)
db.commit()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Что лежит в переменной channel_id? Это строка? Если это строка, она точно содержит только символы, допустимые для имени столбца? Ты это проверил, или понадеялся на авось?

А вообще, если ты вынужден делать ALTER TABLE на ходу, у тебя большие проблемы с архитектурой БД. Дальше будет только хуже.
Лучше опиши задачу, которую пытаешься решить (хотя я догадываюсь, что это очередной чудо-бот).
Ответ написан
Ваш ответ на вопрос

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

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