Sammanfattning: i den här självstudien lär du dig hur du släpper en kolumn från en tabell med MySQL DROP COLUMN
uttalande.
Introduktion till MySQL DROP COLUMN-uttalande
I vissa situationer vill du ta bort en eller flera kolumner från en tabell. I sådana fall använder du följande ALTER TABLE DROP COLUMN
uttalande:
Code language: SQL (Structured Query Language) (sql)
I denna syntax:
- Ange först namnet på tabellen som innehåller kolumnen som du vill släppa efter
ALTER TABLE
nyckelord. - För det andra, ange namnet i kolumnen som du vill släppa i
DROP COLUMN
-satsen.
Observera att nyckelordet COLUMN
nyckelord i DROP COLUMN
-satsen är valfri så att du kan använda det kortare uttalandet enligt följande:
Code language: SQL (Structured Query Language) (sql)
Ta bort flera kolumner från en tabell med en enda ALTER TABLE
uttalande, du använder följande syntax:
Det finns några viktiga punkter du bör komma ihåg innan du tar bort en kolumn från en tabell :
- Om du tar bort en kolumn från en tabell blir alla databasobjekt som lagrade procedurer, vyer och utlösare som refererar till den tappade kolumnen ogiltig. Du kan till exempel ha en lagrad procedur som hänvisar till en kolumn. När du tar bort kolumnen blir den lagrade proceduren ogiltig. För att åtgärda det måste du ändra den lagrade procedurens kod manuellt.
- Koden från andra applikationer som beror på den tappade kolumnen måste också ändras, vilket tar tid och ansträngningar.
- Att släppa en kolumn från en stor tabell kan påverka databasens prestanda under borttagningstiden.
MySQL DROP COLUMN-exempel
Skapa först en tabell med namnet posts
för demonstrationen.
Använd sedan ALTER TABLE DROP COLUMN
för att ta bort excerpt
kolumn:
Code language: SQL (Structured Query Language) (sql)
Visa sedan tabellstrukturen med DESCRIBE
uttalande:
Code language: SQL (Structured Query Language) (sql)
Använd sedan uttalandet ALTER TABLE DROP COLUMN
för att släppa created_at
och updated_at
kolumnerna:
Code language: SQL (Structured Query Language) (sql)
Slutligen använder du DESCRIBE
s uppgifter för att verifiera borttagningen:
Code language: SQL (Structured Query Language) (sql)
MySQL släpper en kolumn som är ett främmande nyckelexempel
Om du tar bort kolumnen som är en främmande nyckel kommer MySQL att ge ett fel. Tänk på följande exempel.
Skapa först en tabell med namnet categories
:
För det andra, lägg till en kolumn med namnet category_id
till posts
tabellen.
Code language: SQL (Structured Query Language) (sql)
För det tredje gör du category_id
-kolumn som en främmande nyckelkolumn för referenser till id
-kolumnen i categories
-tabellen.
För det fjärde, släpp category_id
-kolumnen från posts
-tabellen.
Code language: SQL (Structured Query Language) (sql)
MySQL gav ett felmeddelande:
Code language: JavaScript (javascript)
För att undvika detta fel måste du ta bort begränsningen för främmande nycklar innan du tappar kolumnen.
I den här självstudien har vi visat dig hur du använder MySQL DROP COLUMN
för att ta bort en eller flera kolumner från en tabell.
- Hjälpte den här självstudien?
- Ja Nej