Gezien de tabel die is gemaakt met:
CREATE TABLE tbl_Country
(
CountryId INT NOT NULL AUTO_INCREMENT,
IsDeleted bit,
PRIMARY KEY (CountryId)
)
Hoe kan ik de kolom IsDeleted
verwijderen?
Antwoord 1, autoriteit 100%
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;
Hier iseen werkend voorbeeld.
Houd er rekening mee dat het trefwoord COLUMN
optioneel is, aangezien MySQL alleen DROP IsDeleted
accepteert. Als u meerdere kolommen wilt verwijderen, moet u ze scheiden door komma’s en de DROP
voor elke kolom opnemen.
ALTER TABLE tbl_Country
DROP COLUMN IsDeleted,
DROP COLUMN CountryName;
Hiermee kunt u meerdere kolommen in dezelfde tabel in één instructie DROP
, ADD
en ALTER
. Uit de MySQL-referentiehandleiding:
U kunt meerdere
ADD
-,ALTER
-,DROP
– enCHANGE
-clausules in éénALTER TABLE
-instructie, gescheiden door komma’s. Dit is een MySQL-extensie voor standaard SQL, die slechts één van elke clausule perALTER TABLE
-instructie toestaat.
Antwoord 2, autoriteit 13%
Gebruik ALTER TABLE
met DROP COLUMN
om een kolom uit een tabel te verwijderen en CHANGE
of MODIFY
om een kolom te wijzigen.
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;
Antwoord 3, Autoriteit 4%
Om kolom te verwijderen, gebruikt u dit,
ALTER TABLE `tbl_Country` DROP `your_col`
Antwoord 4, Autoriteit 2%
U kunt
gebruiken
alter table <tblname> drop column <colname>
Antwoord 5, Autoriteit 2%
ALTER TABLE `tablename` DROP `columnname`;
of,
ALTER TABLE `tablename` DROP COLUMN `columnname`;
Antwoord 6, Autoriteit 2%
Als u MySQL 5.6 uitvoert, kunt u deze operatie online maken, zodat andere sessies kunnen lezen en schrijven naar uw tabel terwijl de bewerking is uitgevoerd:
ALTER TABLE tbl_Country DROP COLUMN IsDeleted, ALGORITHM=INPLACE, LOCK=NONE;
Antwoord 7
Gebruik ALTER
:
ALTER TABLE `tbl_Country` DROP COLUMN `column_name`;
Antwoord 8
ALTER TABLE tbl_Country DROP columnName;
Antwoord 9
Het is de moeite waard om te vermelden dat MySQL 8.0.23 en hoger ondersteunt onzichtbare kolommen
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;
Het kan handig zijn in scenario’s waarin het nodig is om een kolom een tijdje te “verbergen” voordat deze veilig kan worden verwijderd (zoals het opnieuw bewerken van overeenkomstige applicaties/rapporten enz.).