Sammendrag: i denne veiledningen lærer du hvordan du bruker SQL Server ALTER TABLE ALTER COLUMN
uttalelse for å endre en kolonne i en tabell.
SQL Server lar deg utføre følgende endringer i en eksisterende kolonne i en tabell:
- Endre datatypen
- Endre størrelsen
- Legg til en
NOT NULL
begrensning
Endre kolonnens datatype
For å endre datatypen til en kolonne, bruker du følgende utsagn:
Code language: SQL (Structured Query Language) (sql)
Den nye datatypen må være kompatibel med den gamle, ellers du får en konverteringsfeil i tilfelle kolonnen har data og den ikke konverterer.
Se følgende eksempel.
Opprett først en ny tabell med en kolonne hvis datatype er INT
:
Code language: SQL (Structured Query Language) (sql)
Sett deretter inn noen rader i tabellen:
Code language: SQL (Structured Query Language) (sql)
For det andre, mo skift datatypen til kolonnen fra INT
til VARCHAR
:
Code language: SQL (Structured Query Language) (sql)
For det tredje, sett inn en ny rad med tegnstrengdata:
Code language: SQL (Structured Query Language) (sql)
For det fjerde, modifiser datatypen for kolonnen fra VARCHAR
tilbake til INT
:
Code language: SQL (Structured Query Language) (sql)
SQL Server utstedte følgende feil:
Code language: SQL (Structured Query Language) (sql)
Endre størrelsen på en kolonne
Følgende utsagn oppretter en ny tabell med en kolonne hvis datatype er VARCHAR(10)
:
Code language: SQL (Structured Query Language) (sql)
La oss sette inn noen eksempeldata i t2-tabellen:
Code language: SQL (Structured Query Language) (sql)
Du kan øke størrelsen på kolonnen som følger:
Code language: SQL (Structured Query Language) (sql)
Når du reduserer størrelsen på kolonne, sjekker SQL Server eksisterende data for å se om den kan konvertere data basert på den nye størrelsen. Hvis konverteringen mislykkes, avslutter SQL Server utsagnet og gir en feilmelding.
Hvis du for eksempel reduserer størrelsen på kolonne c
til 5 tegn:
Code language: SQL (Structured Query Language) (sql)
SQL Server utstedte følgende feil:
Code language: SQL (Structured Query Language) (sql)
Legg til en IKKE NULL-begrensning til en nullbar kolonne
Følgende utsagn oppretter en ny tabell med en nullbar kolonne:
Code language: SQL (Structured Query Language) (sql)
Følgende utsagn setter inn noen rader i tabellen :
Code language: SQL (Structured Query Language) (sql)
Hvis du vil legge til NOT NULL
begrensningen i kolonnen c
, må du oppdatere NULL til ikke-null først for eksempel:
Code language: SQL (Structured Query Language) (sql)
Og deretter legge til NOT NULL
begrensning:
Code language: SQL (Structured Query Language) (sql)
I denne opplæringen har du lært hvordan du bruker SQL Server ALTER TABLE ALTER COLUMN
for å endre noen egenskaper i en eksisterende kolonne.