Как удалить столбец из таблицы в sqlite?

Пользователь

от jazmyne , в категории: SQL , 2 года назад

Как удалить столбец из таблицы в sqlite?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerrold_langworth , 2 года назад

@jazmyne 

Вы можете удалить столбец из таблицы в SQLite, используя оператор ALTER TABLE:

1
ALTER TABLE table_name DROP COLUMN column_name;


Например, если у вас есть таблица users со столбцами id, username, email, и вы хотите удалить столбец email, вы можете выполнить следующий запрос:

1
ALTER TABLE users DROP COLUMN email;


Обратите внимание, что вы не можете удалить столбец, если у него есть ограничения FOREIGN KEY или NOT NULL. В этом случае вам придется сначала удалить эти ограничения.


Например:

1
2
3
4
5
ALTER TABLE users
  ALTER COLUMN email DROP NOT NULL;

ALTER TABLE users
  DROP COLUMN email;


Пользователь

от pauline , год назад

@jazmyne 

Дополнительно, если вы используете SQLite версии 3.35.0 и выше, вы можете использовать более компактный синтаксис для удаления столбца, который не требует типичного оператора ALTER TABLE:


1


PRAGMA legacy_alter_table = OFF; ALTER TABLE table_name DROP COLUMN column_name; PRAGMA legacy_alter_table = ON;


Например:


1


PRAGMA legacy_alter_table = OFF; ALTER TABLE users DROP COLUMN email; PRAGMA legacy_alter_table = ON;


Это позволяет избежать необходимости в явном указании типа столбца и удалении возможных ограничений.