sqlite3 изменить значение столбца по умолчанию - PullRequest
12 голосов
/ 30 марта 2012

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

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

Ответы [ 2 ]

22 голосов
/ 30 марта 2012

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

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

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

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

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

0 голосов
/ 06 декабря 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...