Próbuję zmienić kolumnę z a varchar(50)
na nvarchar(200)
. Jakie polecenie SQL służy do zmiany tej tabeli?
Próbuję zmienić kolumnę z a varchar(50)
na nvarchar(200)
. Jakie polecenie SQL służy do zmiany tej tabeli?
Odpowiedzi:
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
EDYCJA Jak wspomniano NULL / NOT NULL powinien był zostać określony, patrz również odpowiedź Roba .
ALTER TABLE TableName ALTER COLUMN ColumnName
polecenie zmiany istniejącej kolumny [NOT NULL]
i nie określisz jej wprost, nastąpi to [NULL]
później, ponieważ jest to ustawienie domyślne.
SysName
(na które nie pozwala SSMS).
ALTER TABLE table MODIFY COLUMN column datatype
pracował dla mnie.
Nie zapomnij o zerowalności.
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
Użyj instrukcji Alter table.
Alter table TableName Alter Column ColumnName nvarchar(100)
Składnia do modyfikowania kolumny w istniejącej tabeli w SQL Server (Transact-SQL) to:
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
Na przykład:
ALTER TABLE employees
ALTER COLUMN last_name VARCHAR(75) NOT NULL;
W tym ALTER TABLE
przykładzie programu SQL Server zmodyfikowano kolumnę nazywaną last_name
typem danych VARCHAR(75)
i wymusiono, aby kolumna nie zezwalała na wartości null.
patrz tutaj
Dopóki zwiększasz rozmiar swojego varchara, nic ci nie jest. Zgodnie z tabelą Alter odniesieniem do :
Zmniejszenie precyzji lub skali kolumny może spowodować obcięcie danych.
Do zmiany typu danych
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
Do zmiany klucza podstawowego
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
ALTER TABLE [dbo].[TableName]
ALTER COLUMN ColumnName VARCHAR(Max) NULL
Spróbuj tego:
ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";