Sto provando a cambiare una colonna da varchar(50)
a nvarchar(200)
. Qual è il comando SQL per modificare questa tabella?
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
EDIT Come indicato NULL/NOT NULL dovrebbe essere stato specificato, vedere Anche la risposta di Rob .
Non dimenticare nullability.
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
Utilizzare l'istruzione della tabella di modifica.
Alter table TableName Alter Column ColumnName nvarchar(100)
La sintassi per modificare una colonna in una tabella esistente in SQL Server (Transact-SQL) è:
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
Per esempio:
ALTER TABLE employees
ALTER COLUMN last_name VARCHAR(75) NOT NULL;
Questo esempio di SQL Server ALTER TABLE
modificherà la colonna denominata last_name
per essere un tipo di dati di VARCHAR(75)
e imporrà alla colonna di non consentire valori nulli.
vedi qui
Finché stai aumentando le dimensioni del tuo varchar sei OK. Come per Alter Table reference:
La riduzione della precisione o della scala di una colonna può causare il troncamento dei dati.
Per cambiare il tipo di dati
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
Per cambiare la chiave primaria
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)