Sammanfattning: i den här självstudien lär du dig hur du använder SQL Server ALTER TABLE ALTER COLUMN
uttalande för att ändra en kolumn i en tabell.
Med SQL Server kan du göra följande ändringar i en befintlig kolumn i en tabell:
- Ändra datatypen
- Ändra storlek
- Lägg till en
NOT NULL
begränsning
Ändra kolumnens datatyp
För att ändra datatypen för en kolumn använder du följande uttalande:
Code language: SQL (Structured Query Language) (sql)
Den nya datatypen måste vara kompatibel med den gamla, annars du får ett konverteringsfel om kolumnen har data och den inte kan konverteras.
Se följande exempel.
Skapa först en ny tabell med en kolumn vars datatyp är INT
:
Code language: SQL (Structured Query Language) (sql)
Sätt sedan in några rader i tabellen:
Code language: SQL (Structured Query Language) (sql)
För det andra, mo ändra datatypen för kolumnen från INT
till VARCHAR
:
Code language: SQL (Structured Query Language) (sql)
För det tredje, infoga en ny rad med teckensträngdata:
Code language: SQL (Structured Query Language) (sql)
För det fjärde ändrar du datatypen för kolumnen från VARCHAR
tillbaka till INT
:
Code language: SQL (Structured Query Language) (sql)
SQL Server gav följande fel:
Code language: SQL (Structured Query Language) (sql)
Ändra storleken på en kolumn
Följande uttalande skapar en ny tabell med en kolumn vars datatyp är VARCHAR(10)
:
Code language: SQL (Structured Query Language) (sql)
Låt oss infoga några exempeldata i t2-tabellen:
Code language: SQL (Structured Query Language) (sql)
Du kan öka kolumnens storlek enligt följande:
Code language: SQL (Structured Query Language) (sql)
Men när du minskar storleken på SQL Server kontrollerar befintlig data för att se om den kan konvertera data baserat på den nya storleken. Om konverteringen misslyckas avslutar SQL Server uttalandet och ger ett felmeddelande.
Till exempel om du minskar storleken på kolumn c
till 5 tecken:
Code language: SQL (Structured Query Language) (sql)
SQL Server gav följande fel:
Code language: SQL (Structured Query Language) (sql)
Lägg till en INTE NULL-begränsning till en ogiltig kolumn
Följande uttalande skapar en ny tabell med en ogiltig kolumn:
Code language: SQL (Structured Query Language) (sql)
Följande uttalande infogar några rader i tabellen :
Code language: SQL (Structured Query Language) (sql)
Om du vill lägga till NOT NULL
begränsningen till kolumnen c
, du måste uppdatera NULL till icke-null först till exempel:
Code language: SQL (Structured Query Language) (sql)
Och lägg sedan till NOT NULL
constraint:
Code language: SQL (Structured Query Language) (sql)
I den här självstudien har du lärt dig hur du använder SQL Server ALTER TABLE ALTER COLUMN
för att ändra vissa egenskaper i en befintlig kolumn.