Ibland kan du behöva ta bort kolumn från databastabellen i MySQL. Du kan enkelt göra detta med kommandot MySQL DROP COLUMN. Så här släpper du kolumn från tabell i MySQL.
Hur man släpper kolumn från tabell i MySQL
Här är stegen för att ta bort kolumn från tabell i MySQL. Vi kommer att använda MySQL DROP COLUMN-frågan för att ta bort befintliga kolumner från tabellen.
Här är syntaxen för DROP COLUMN-satsen:
ALTER TABLE table_name DROP COLUMN column_name;
I ovanstående uttalande måste du nämna tabellen vars kolumn du vill ta bort, i ALTER TABLE-satsen. Ange sedan kolumnnamnet i DROP COLUMN-satsen.
Du kan bara använda DROP, istället för att använda DROP COLUMN ovan.
Om du vill ta bort flera kolumner från tabellen nämner du dem i separata DROP COLUMN-satser, i samma sats.
ALTER TABLE table_name DROP COLUMN column1, DROP COLUMN column2, DROP COLUMN column3;
När du tar bort en kolumn från tabellen blir alla lagrade procedurer, vyer och utlösare som refererar till denna kolumn ogiltiga. Du måste uppdatera dem manuellt för att få dem att fungera igen. Du kan också ta bort kolumn med Index men indexet blir ogiltigt efter att kolumnen tagits bort.
Bonus Läs:MySQL DROP TABLE
Exempel på MySQL DROP COLUMN
Låt oss säga att du har följande tabellorder
mysql> create table orders(order_date date, sale int, product_id int, category varchar(255));
Låt oss säga att du vill släppa COLUMN product_id
mysql> alter table orders drop column product_id; mysql> describe orders; +------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | order_date | date | YES | | NULL | | | sale | int(11) | YES | | NULL | | | category | varchar(255) | YES | | NULL | | +------------+--------------+------+-----+---------+-------+
Bonus Läs:Hur man får poster från idag i MySQL
MySQL DROP Flera kolumner
Låt oss säga att du vill ta bort försäljning och kategori med flera kolumner. Här är MySQL DROP COLUMN-satsen för att ta bort flera kolumner från tabellen i MySQL
mysql> alter table orders drop column sale, drop column category; mysql> describe orders; +------------+------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+------+------+-----+---------+-------+ | order_date | date | YES | | NULL | | +------------+------+------+-----+---------+-------+
Bonus Läs:Hur man får poster från de senaste 7 dagarna i MySQL
MySQL DROP COLUMN med främmande nyckel
Om du försöker släppa kolumn direkt med främmande nyckel kommer MySQL att ge ett fel. Låt oss säga att du har följande tabeller
mysql> create table orders3(id int auto_increment primary key,category_id int); mysql> create table categories(id int auto_increment primary key,name varchar(255)); mysql> ALTER TABLE orders3 ADD CONSTRAINT fk_cat FOREIGN KEY (category_id) REFERENCES categories(id);
Bonus Läs:Hur man får poster mellan 2 datum i MySQL
I exemplet ovan refererar främmande nyckel category_id i orders3 till primärnyckel-ID-kolumnen från kategoritabellen. Om du försöker ta bort den får du ett felmeddelande.
mysql> alter table orders3 drop column category_id; ERROR 1553 (HY000): Cannot drop index 'fk_cat': needed in a foreign key constraint
Så först måste du ta bort en främmande nyckel och först sedan använda MySQL DROP COLUMN
mysql> alter table orders3 drop foreign key fk_cat; mysql> alter table orders3 drop column category_id; mysql> describe orders3; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | +-------+---------+------+-----+---------+----------------+
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!