Изменить Таблицу Добавить Синтаксис Столбца
Я пытаюсь программно добавить столбец идентификаторов в таблицу Employees. Не уверен, что я делаю неправильно с моим синтаксисом.
ALTER TABLE Employees
ADD COLUMN EmployeeID int NOT NULL IDENTITY (1, 1)
ALTER TABLE Employees ADD CONSTRAINT
PK_Employees PRIMARY KEY CLUSTERED
(
EmployeeID
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
что я делаю не так? Я попытался экспортировать скрипт, но SQL Mgmt Studio делает всю временную таблицу переименовать вещь.
обновление:
Я думаю, что он задыхается от первого утверждения с "неправильным синтаксисом рядом с ключевым словом "столбец"."
4 ответов:
просто удалить
COLUMNСADD COLUMNALTER TABLE Employees ADD EmployeeID numeric NOT NULL IDENTITY (1, 1) ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY CLUSTERED ( EmployeeID ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
вот как добавить новый столбец в таблицу
ALTER TABLE [tableName] ADD ColumnName Datatypeнапример
ALTER TABLE [Emp] ADD Sr_No Intи если вы хотите, чтобы он автоматически увеличивается
ALTER TABLE [Emp] ADD Sr_No Int IDENTITY(1,1) NOT NULL
правильный синтаксис для добавления столбца в таблице:
ALTER TABLE table_name ADD column_name column-definition;в вашем случае это будет:
ALTER TABLE Employees ADD EmployeeID int NOT NULL IDENTITY (1, 1)для добавления нескольких столбцов используйте скобки:
ALTER TABLE table_name ADD (column_1 column-definition, column_2 column-definition, ... column_n column_definition);
COLUMNключевое слово в SQL SERVER используется только для изменения:ALTER TABLE table_name ALTER COLUMN column_name column_type;
Это может быть переименование временной таблицы, если вы пытаетесь добавить столбец в начало таблицы (так как это проще, чем изменить порядок). Кроме того, если есть данные в таблице Employees, он должен сделать insert select*, чтобы он мог вычислить EmployeeID.
Comments