489

以下を使用して作成されたテーブルを考えます。

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

列を削除するにはどうすればよいIsDeletedですか?

4

9 に答える 9

767
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

これが実際の例です。

MySQLCOLUMNDROP IsDeleted. また、複数の列を削除するには、それらをコンマで区切り、DROPそれぞれに for を含める必要があります。

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

これによりDROP、 1 つのステートメントで同じテーブルADDALTER複数の列を実行できます。MySQLリファレンスマニュアルから:

複数ADDの , ALTER, DROP,CHANGE節を 1 つのALTER TABLEステートメントでカンマで区切って発行できます。ALTER TABLEこれは、標準 SQL に対する MySQL 拡張であり、ステートメントごとに各句を 1 つだけ許可します。

于 2012-12-20T09:05:52.150 に答える
99

ALTER TABLEwithを使用し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;
于 2012-12-20T09:08:28.177 に答える
38

単一の列を削除するには:

ALTER TABLE `table1` DROP `column1`;

複数の列を削除するには:

ALTER TABLE `table1`
DROP `column1`,
DROP `column2`,
DROP `column3`;
于 2012-12-20T09:06:06.850 に答える
17

使用できます

alter table <tblname> drop column <colname>
于 2012-12-20T09:07:29.860 に答える
14
ALTER TABLE `tablename` DROP `columnname`;

または、

ALTER TABLE `tablename` DROP COLUMN `columnname`;
于 2012-12-20T09:06:51.577 に答える
10

使用ALTER:

ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;
于 2012-12-20T09:06:38.823 に答える
8
ALTER TABLE tbl_Country DROP columnName;
于 2012-12-20T09:06:23.123 に答える
3

MySQL 8.0.23 以降では非表示の列がサポートされていることに注意してください。

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

INSERT INTO tbl_Country VALUES (1, 1), (2,0);

ALTER TABLE tbl_Country ALTER COLUMN IsDeleted SET INVISIBLE;

SELECT * FROM tbl_Country;
CountryId
1
2

ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

デシベル<>フィドルのデモ

列を安全に削除する前に、しばらく列を「非表示」にする必要がある場合 (対応するアプリケーション/レポートの再作成など) に役立つ場合があります。

于 2021-01-24T22:43:01.957 に答える