Я намагаюся змінити стовпчик з " varchar(50)
на" nvarchar(200)
. Яка команда SQL для зміни цієї таблиці?
Я намагаюся змінити стовпчик з " varchar(50)
на" nvarchar(200)
. Яка команда SQL для зміни цієї таблиці?
Відповіді:
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
EDIT Як зазначалося, NULL / NOT NULL слід було вказати, див . Також відповідь Роба .
ALTER TABLE TableName ALTER COLUMN ColumnName
команду змінити існуючий стовпець, який [NOT NULL]
ви не встановите, явно не вказати, це буде [NULL]
згодом, оскільки це за замовчуванням.
SysName
(що не дозволяє SSMS ).
ALTER TABLE table MODIFY COLUMN column datatype
працював на мене.
Не забувайте про зведеність.
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
Використовуйте оператор таблиці Alter.
Alter table TableName Alter Column ColumnName nvarchar(100)
Синтаксис для зміни стовпця в існуючій таблиці в SQL Server (Transact-SQL) є:
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
Наприклад:
ALTER TABLE employees
ALTER COLUMN last_name VARCHAR(75) NOT NULL;
Цей ALTER TABLE
приклад SQL Server змінить стовпчик, який називається last_name
типом даних, VARCHAR(75)
і змусить стовпець не допускати нульових значень.
дивіться тут
Поки ви збільшуєте розмір варчара, ви все в порядку. Відповідно до посилання на таблицю Alter :
Зменшення точності або масштабу стовпця може спричинити усічення даних.
Для зміни типу даних
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
Для зміни Первинного ключа
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
ALTER TABLE [dbo].[TableName]
ALTER COLUMN ColumnName VARCHAR(Max) NULL
Спробуйте це:
ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";