SQLite изменяют столбец

Я должен изменить столбец в базе данных SQLite, но я должен сделать это программно из-за базы данных, уже работающей. От моего исследования я нашел, что, чтобы сделать это, я должен сделать следующее.

  • Составьте новую таблицу с новой схемой
  • Данные копии от старой таблицы до новой таблицы
  • Отбросьте старую таблицу
  • Переименуйте новую таблицу к старому имени таблиц

Это походит на смешной объем работы для чего-то, что должно быть относительно легко. Разве нет ли более легкого пути? Все, что я должен сделать, изменить ограничение на существующий столбец и дать ему значение по умолчанию.

44
задан Nathan 21 April 2010 в 19:17
поделиться

2 ответа

Это один из наиболее известных недостатков SQLite (нет поддержки MODIFY COLUMN в ALTER TABLE ), но он находится в списке функций SQL, которые SQLite не реализует .

edit: Удален бит, в котором упоминалось, что он может поддерживаться в будущем выпуске, поскольку страница была обновлена, чтобы указать, что это уже не так

42
ответ дан 26 November 2019 в 22:08
поделиться

Как сказано здесь , такого рода функции не реализованы в SQLite.

В качестве примечания, вы можете сделать два первых шага с помощью таблицы создания с помощью select:

CREATE TABLE tmp_table AS SELECT id, name FROM src_table
9
ответ дан 26 November 2019 в 22:08
поделиться
Другие вопросы по тегам:

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