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


441

Учитывая таблицу, созданную с помощью:

CREATE TABLE tbl_Country
(
  CountryId INT NOT NULL AUTO_INCREMENT,
  IsDeleted bit,
  PRIMARY KEY (CountryId) 
)

Как я могу удалить столбец IsDeleted?

Ответы:


713
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

Вот рабочий пример.

Обратите внимание, что COLUMNключевое слово является необязательным, поскольку MySQL будет принимать только DROP IsDeleted. Кроме того, чтобы удалить несколько столбцов, вы должны разделить их запятыми и включить DROPдля каждого из них.

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

Это позволяет DROP, ADDи ALTERнесколько столбцов на одной и той же таблицы в одном операторе. Из справочного руководства по MySQL :

Вы можете оформить мультипликатор ADD, ALTER, DROPи CHANGEстатьи в одном ALTER TABLEзаявлении, разделенных запятыми. Это расширение MySQL к стандартному SQL, которое допускает только одно из каждого предложения на ALTER TABLEоператор.


96

Используйте ALTER TABLEс , DROP COLUMNчтобы удалить столбец из таблицы, а также CHANGEили MODIFYизменить столбец.

ALTER TABLE tbl_Country DROP COLUMN IsDeleted;
ALTER TABLE tbl_Country MODIFY IsDeleted tinyint(1) NOT NULL;
ALTER TABLE tbl_Country CHANGE IsDeleted IsDeleted tinyint(1) NOT NULL;

Вы можете использовать Изменить или Изменить столбец, чтобы сделать то же самое. Проверьте ссылку, которая даст вам представление об обновлении столбца, используя ALTER TABLE
— Saharsh Shah

29

Чтобы удалить столбец, используйте это,

ALTER TABLE `tbl_Country` DROP `your_col`



11

Если вы работаете с MySQL 5.6 и более поздних версий, вы можете выполнить эту операцию в режиме онлайн, позволяя другим сеансам читать и записывать вашу таблицу во время выполнения операции:

ALTER TABLE tbl_Country DROP COLUMN IsDeleted, ALGORITHM=INPLACE, LOCK=NONE;


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.