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.