Переименовать столбец в sqlite - PullRequest
0 голосов
/ 26 апреля 2019

Я хотел бы переименовать столбец в sqlite. Я создал заголовки из двух слов с пробелами для некоторых столбцов, что создает проблемы позже (например, first name вместо first_name.

Ранее кажется, что это было невозможно ссылка .

Но в выпуске, выпущенном несколько месяцев назад, похоже, содержалась опция RENAME COLUMN ссылка .

Однако, похоже, это не работает.

ALTER TABLE tablename RENAME COLUMN first name TO first_name

Запрос выдает следующее сообщение об ошибке:

near "COLUMN": syntax error: ALTER TABLE tablename RENAME COLUMN

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

ALTER TABLE tablename RENAME COLUMN "first name" TO "first_name"

Но та же ошибка.

Это решение намекает на возможность переименования. Но переименовывает только таблицы (что работает нормально), но не столбцы.

1 Ответ

0 голосов
/ 20 июня 2019

Прежде всего, у Sqlite есть такой недостаток , что мы не можем переименовать столбцы . Скорее нам нужно создать новую таблицу с нужными именами столбцов, а затем скопировать данные из старой таблицы.

Существует способ обойти переименование таблицы вручную с помощью БД SQLite Browser , как указано ниже

  1. Откройте файл базы данных (.sqlite или .sqlite3) в вашем браузере БД, я использовал образец БД с именем таблицы "RenameDemo"
  2. Щелкните правой кнопкой мыши по имени таблицы, в которой вы хотите изменить имя столбца. В отображаемых опциях выберите Изменить таблицу
  3. Появится пользовательский интерфейс, где вы можете редактировать определение таблицы, в этом окне дважды щелкните имя столбца, чтобы сделать его редактируемым.
  4. Введите новое имя в столбце. Нажмите Ok.
  5. На главном экране щелкните команду ctrl + s, чтобы зафиксировать эти изменения в БД.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...