Я должен изменить столбец в базе данных SQLite, но я должен сделать это программно из-за базы данных, уже работающей. От моего исследования я нашел, что, чтобы сделать это, я должен сделать следующее.
Это походит на смешной объем работы для чего-то, что должно быть относительно легко. Разве нет ли более легкого пути? Все, что я должен сделать, изменить ограничение на существующий столбец и дать ему значение по умолчанию.
Это один из наиболее известных недостатков SQLite (нет поддержки MODIFY COLUMN
в ALTER TABLE
), но он находится в списке функций SQL, которые SQLite не реализует .
edit: Удален бит, в котором упоминалось, что он может поддерживаться в будущем выпуске, поскольку страница была обновлена, чтобы указать, что это уже не так
Как сказано здесь , такого рода функции не реализованы в SQLite.
В качестве примечания, вы можете сделать два первых шага с помощью таблицы создания с помощью select:
CREATE TABLE tmp_table AS SELECT id, name FROM src_table