给定使用以下方法创建的表:

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

如何删除IsDeleted列?


当前回答

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参考手册:

您可以在一个ALTER TABLE语句中发出多个ADD、ALTER、DROP和CHANGE子句,用逗号分隔。这是一个标准SQL的MySQL扩展,每个ALTER TABLE语句只允许每个子句中的一个。

其他回答

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参考手册:

您可以在一个ALTER TABLE语句中发出多个ADD、ALTER、DROP和CHANGE子句,用逗号分隔。这是一个标准SQL的MySQL扩展,每个ALTER TABLE语句只允许每个子句中的一个。

删除单个列:

ALTER TABLE `table1` DROP `column1`;

删除多个列。

ALTER TABLE `table1`
DROP `column1`,
DROP `column2`,
DROP `column3`;

如果你运行的是MySQL 5.6以后的版本,你可以让这个操作在线,允许其他会话在执行这个操作时读写你的表:

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

使用改变:

ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;