Подтвердить что ты не робот

SQLite - изменить тип столбца таблицы?

Я запускаю проект с небольшой базой данных, и я рассматриваю возможность использования SQLite. Если я создаю таблицу, и я определил один из столбцов как текст, но все сохраненные значения - целые числа - есть ли способ изменить тип данных столбца? Я использую SQLite Manager, и я не могу найти функцию, которая позволяет мне это делать. Могу ли я это сделать с помощью команды SQL или это ограничение SQLite? Возможно, даже с этим ограничением можно найти способ и создать новую таблицу с требуемыми типами столбцов, а затем импортировать в нее данные.

С уважением, Ник

4b9b3361

Ответ 1

SQLite не полностью поддерживает инструкции ALTER TABLE. Единственное, что вы можете сделать, это переименовать таблицу и/или добавить столбцы. Если вы хотите переименовать столбец, лучшим вариантом является создание новой таблицы с новыми типами столбцов/имен столбцов и удаление старой таблицы, чтобы переименовать новую.

Допустим, у вас есть таблица и вам нужно переименовать "поле-1" в "field-2": First == → переименуйте старую таблицу:

    ALTER TABLE original RENAME TO tmp;

Теперь создайте новую таблицу на основе старой таблицы, но с обновленным именем столбца:
== → создать таблицу с обновленными столбцами

    CREATE TABLE original(
    field_a INT
   , field_b INT
    );

Затем скопируйте содержимое из исходной таблицы.

   INSERT INTO origignal(field_a, field_b)
   SELECT field_a, field_b
   FROM tmp;

Наконец, оставьте старую таблицу.

   DROP TABLE tmp;

Ответ 2

Нет, нет быстрого способа сделать это с помощью SQLite. Не так, как вы можете с MySQL. Вам придется отказаться от стола, а затем снова добавить его.

Еще одна вещь, о которой следует помнить, - это то, что SQLite довольно гибко относится к типу данных, которые можно поместить в каждый раздел. Вот ссылка, которая описывает типы данных и как они работают: http://www.sqlite.org/datatype3.html

Другим вариантом может быть использование MySQL, если функция, о которой вы говорите, является для вас большой проблемой. Он по-прежнему бесплатный и отлично подходит для небольших проектов.

Ответ 3

Изменить таблицу в SqliteManger

Шаги

  • Открыть базу данных в режиме управления sqlite
  • двойной щелчок на имени таблицы
  • появится всплывающее окно.

Ответ 4

С sqlite manager 3.5 двойной клик в таблице, который вам нужно изменить