Jak usunąć kolumnę z tabeli w MySQL


441

Biorąc pod uwagę tabelę utworzoną za pomocą:

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

Jak mogę usunąć kolumnę IsDeleted?

Odpowiedzi:


713
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

Oto działający przykład.

Zauważ, że COLUMNsłowo kluczowe jest opcjonalne, ponieważ MySQL akceptuje tylko DROP IsDeleted. Ponadto, aby upuścić wiele kolumn, musisz oddzielić je przecinkami i dołączyć DROPdla każdego z nich.

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

Pozwala to DROP, ADDi ALTERwiele kolumn w tej samej tabeli w rachunku jednego. Z podręcznika MySQL :

Można wydać wielokrotność ADD, ALTER, DROPoraz CHANGEklauzule w jednym ALTER TABLErachunku, rozdzielając je przecinkami. Jest to rozszerzenie MySQL do standardowego SQL, które dopuszcza tylko jedną z każdej klauzuli na ALTER TABLEinstrukcję.


96

Użyj za ALTER TABLEpomocą, DROP COLUMNaby usunąć kolumnę z tabeli i CHANGElub MODIFYzmienić kolumnę.

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;

Aby to zrobić, możesz użyć kolumny Zmień lub Modyfikuj. Sprawdź link, który da ci pomysł na aktualizację kolumny za pomocą ALTER TABLE
— Saharsh Shah,

29

Aby usunąć kolumnę, użyj tego,

ALTER TABLE `tbl_Country` DROP `your_col`


12
ALTER TABLE `tablename` DROP `columnname`;

Lub,

ALTER TABLE `tablename` DROP COLUMN `columnname`;

11

Jeśli korzystasz z MySQL 5.6 lub nowszej, możesz wykonać tę operację online, umożliwiając innym sesjom odczytywanie i zapisywanie w tabeli podczas wykonywania operacji:

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


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.