sqlite3 изменить значение столбца по умолчанию

Как изменить значение по умолчанию для существующего столбца в таблице в sqlite3?

у меня есть таблица с именем notes с логическим столбцом hidden. По умолчанию установлено значение true, я хочу установить его в false.

2 ответов


Я не думаю, что можно без замены всей таблицы. От тонкой ручной:

SQL функции, которые SQLite не реализует

полная поддержка ALTER TABLE
Поддерживаются только варианты переименовать таблицу и добавить столбец команды ALTER TABLE. Другие виды операций ALTER TABLE, такие как Drop COLUMN, ALTER COLUMN, ADD CONSTRAINT и т. д опущено.

таким образом, нет способа изменить существующий столбец в SQLite. Я думаю, вам придется создать новую таблицу с соответствующим значением по умолчанию для hidden скопируйте все данные, удалить оригинальные notes таблица, а потом переименовать новый.

SQLite остается бережливым, целенаправленно опуская множество функций.


SQLite database browser позволяет удалять столбцы, поэтому вы можете удалить столбец с ним, а затем вручную добавить столбец по умолчанию с помощью инструмента командной строки sqlite3.