Cách xóa cột khỏi bảng trong MySQL


441

Đưa ra bảng được tạo bằng:

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

Làm thế nào tôi có thể xóa cột IsDeleted?

Câu trả lời:


713
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

Đây là một ví dụ hoạt động.

Lưu ý rằng COLUMNtừ khóa là tùy chọn, vì MySQL sẽ chấp nhận DROP IsDeleted. Ngoài ra, để thả nhiều cột, bạn phải phân tách chúng bằng dấu phẩy và bao gồm các cột DROPcho mỗi cột .

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

Điều này cho phép bạn DROP, ADDALTERnhiều cột trên cùng một bảng trong báo cáo kết quả một. Từ hướng dẫn tham khảo MySQL :

Bạn có thể phát hành nhiều ADD, ALTER, DROP, và CHANGEcác điều khoản trong một đơn ALTER TABLEtuyên bố, cách nhau bằng dấu phẩy. Đây là một phần mở rộng MySQL cho SQL tiêu chuẩn, chỉ cho phép một trong mỗi mệnh đề cho mỗi ALTER TABLEcâu lệnh.


96

Sử dụng ALTER TABLEvới DROP COLUMNđể thả một cột từ một bảng và CHANGEhoặc MODIFYđể thay đổi một cột.

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;

Bạn có thể sử dụng cột Thay đổi hoặc Sửa đổi để làm tương tự. Kiểm tra liên kết sẽ cho bạn ý tưởng cập nhật một cột bằng ALTER TABLE
Saharsh Shah

29

Để xóa cột sử dụng,

ALTER TABLE `tbl_Country` DROP `your_col`


12
ALTER TABLE `tablename` DROP `columnname`;

Hoặc là,

ALTER TABLE `tablename` DROP COLUMN `columnname`;

11

Nếu bạn đang chạy MySQL 5.6 trở đi, bạn có thể thực hiện thao tác này trực tuyến, cho phép các phiên khác đọc và ghi vào bảng của bạn trong khi thao tác được thực hiện:

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

9

Sử dụng ALTER:

ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.