Oversigt: i denne vejledning lærer du, hvordan du slipper en kolonne fra en tabel ved hjælp af MySQL DROP COLUMN
erklæring.
Introduktion til MySQL DROP COLUMN-sætning
I nogle situationer vil du fjerne en eller flere kolonner fra en tabel. I sådanne tilfælde bruger du følgende ALTER TABLE DROP COLUMN
udsagn:
Code language: SQL (Structured Query Language) (sql)
I denne syntaks:
- Angiv først navnet på den tabel, der indeholder den kolonne, som du vil slippe efter
ALTER TABLE
nøgleordene. - For det andet skal du angive navnet i den kolonne, du vil slippe i
DROP COLUMN
-klausulen.
Bemærk, at nøgleordet COLUMN
nøgleord i DROP COLUMN
-klausulen er valgfri, så du kan bruge den kortere sætning som følger:
Code language: SQL (Structured Query Language) (sql)
For at fjerne flere kolonner fra en tabel ved hjælp af en enkelt ALTER TABLE
udsagn, bruger du følgende syntaks:
Der er nogle vigtige punkter, du skal huske, før du fjerner en kolonne fra en tabel :
- Fjernelse af en kolonne fra en tabel gør alle databaseobjekter, såsom lagrede procedurer, visninger og udløsere, der henviser til den henlagte kolonne ugyldig. For eksempel kan du have en lagret procedure, der henviser til en kolonne. Når du fjerner kolonnen, bliver den gemte procedure ugyldig. For at løse det skal du manuelt ændre den lagrede procedurekode.
- Koden fra andre applikationer, der afhænger af den faldne kolonne, skal også ændres, hvilket tager tid og kræfter.
- At slippe en kolonne fra en stor tabel kan påvirke databasens ydeevne under fjernelsestiden.
MySQL DROP COLUMN eksempler
Opret først en tabel med navnet posts
til demonstrationen.
Brug derefter ALTER TABLE DROP COLUMN
udsagnet til at fjerne excerpt
kolonne:
Code language: SQL (Structured Query Language) (sql)
Se derefter tabelstrukturen ved hjælp af DESCRIBE
udsagn:
Code language: SQL (Structured Query Language) (sql)
Brug derefter sætningen ALTER TABLE DROP COLUMN
til at droppe kolonnerne created_at
og updated_at
:
Code language: SQL (Structured Query Language) (sql)
Endelig skal du bruge DESCRIBE
s beskrivelse for at kontrollere fjernelsen:
Code language: SQL (Structured Query Language) (sql)
MySQL slipper en kolonne, der er et fremmednøgleeksempel
Hvis du fjerner den kolonne, der er en fremmed nøgle, udsender MySQL en fejl. Overvej følgende eksempel.
Opret først en tabel med navnet categories
:
For det andet skal du tilføje en kolonne med navnet category_id
til posts
-tabellen.
Code language: SQL (Structured Query Language) (sql)
For det tredje skal du lave category_id
kolonne som en fremmed nøglekolonne, der refererer til id
kolonnen i categories
tabellen.
Fjerde, slip category_id
kolonnen fra posts
tabellen.
Code language: SQL (Structured Query Language) (sql)
MySQL udsendte en fejlmeddelelse:
Code language: JavaScript (javascript)
For at undgå denne fejl skal du fjerne begrænsningen for den fremmede nøgle, før du slipper kolonnen.
I denne vejledning har vi vist dig, hvordan du bruger MySQL DROP COLUMN
-erklæring til at fjerne en eller flere kolonner fra en tabel.
- Var denne tutorial nyttig?
- JaNej